在使用ts-node-dev的import语句附近获得错误"SyntaxError: Unexpected token 'import'"是因为Node.js默认不支持ES模块的import语法,而ts-node-dev是一个用于在开发过程中运行TypeScript代码的工具,它默认使用Node.js的CommonJS模块系统。
要解决这个问题,可以通过以下几种方式:
.babelrc
文件,并配置如下内容:{
"presets": ["@babel/preset-env"]
}
接下来,使用Babel运行TypeScript代码,可以通过以下命令安装相关的依赖:
npm install --save-dev @babel/core @babel/preset-env @babel/register
然后,使用以下命令运行TypeScript代码:
npx babel-node your-script.ts
npm install --save-dev tsconfig-paths ts-node
然后,在项目根目录下创建一个tsconfig-paths.js
文件,并配置如下内容:
const tsconfig = require('./tsconfig.json');
const baseUrl = './'; // 项目根目录
const paths = tsconfig.compilerOptions.paths;
module.exports = {
baseUrl,
paths
};
接下来,在运行TypeScript代码之前,使用以下命令设置NODE_OPTIONS
环境变量:
export NODE_OPTIONS="-r tsconfig-paths/register"
最后,使用以下命令运行TypeScript代码:
npx ts-node your-script.ts
tsconfig.json
文件中,将esModuleInterop
设置为true
,这样TypeScript会自动将import语句转换为CommonJS模块语法。配置示例如下:{
"compilerOptions": {
"esModuleInterop": true
}
}
然后,使用以下命令运行TypeScript代码:
npx ts-node your-script.ts
以上是解决在使用ts-node-dev的import语句附近获得错误"SyntaxError: Unexpected token 'import'"的几种方法。根据具体情况选择其中一种方法进行配置即可。
领取专属 10元无门槛券
手把手带您无忧上云