我试图在桌面上运行这个repository的vscode扩展。
我在本地克隆了它并运行npm install
在vscode编辑器上按f5键,出现错误
Process exited with code 1
(node:1404) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.
(Use `node --trace-warnings ...` to show where the warning was created)
internal/process/warning:44
Canceled
为了解决这个警告,我发现了另一个堆栈溢出问题-(node:9374) Warning: To load an ES module, set "type": "module"
因此,我将"type":"module"
设置为package.json
,并再次按f5。
并显示另一个错误。
Process exited with code 1
Uncaught TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".ts" for /mnt/c/vscode-php-debug/src/phpDebug.ts
并在stackoverflow上找到另一个问题-Can't run my Node.js Typescript project TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".ts" for /app/src/App.ts
所以我去掉了“type”:“module”,现在我在循环中,混淆。
有没有人试过调试这个或遇到这样的?
7条答案
按热度按时间zhte4eai1#
要解决此问题,请更改扩展名文件名。
例如,如果您的模块javascript文件名为script.js -请将名称更改为script. mjs。
对将使用导入的文件和将导出的文件执行此操作。
此外,在index.html页面中,确保使用.mjs扩展名引用文件,例如:
cpjpxq1n2#
使用以下命令对节点v14.16.1有效:
有一个警告告诉我
--experimental-loader
是一个实验特性,但我不在乎,因为我只用它来调试 typescript 代码。r3i60tvu3#
在你的
package.json
里面设置"type": "module"
应该可以了,再检查一下输入的时候有没有错,输入的时候解决了我的问题。ej83mcc04#
在从js(带有commonJs模块)迁移到支持Eslint和Prettier的Typescript的过程中,面临着这个问题和许多相关问题。主要问题是Node.js需要在. js文件中导入commonJs,并且允许在. mjs中使用es6模块。Typescript默认生成. js文件,因此有两种方法可以处理它:
1.迁移到es6模块,调用所有
.js
文件-.mjs
,将__dirname
用途更改为const __dirname = dirname(fileURLToPath(import.meta.url));
1.然后在package.json中设置
"type": "module"
1.然后我为tsconfig.json添加了这样的配置:
1.在一个终端中,我运行:
npx tsc -w
1.在另一篇文章中:
npm run start
启动脚本:"start": "nodemon --es-module-specifier-resolution=node dist/server.js"
1.迁移到es6模块,调用所有
.js
文件-.ts
,添加类型,保留__dirname
用法不变(将由@types/node处理)并安装@types/node,ts-node,nodemon。1.在包中. json
"type": "commonjs", "main": "src/{your_root_file}.ts",
1.然后我为tsconfig.json添加了这样的配置:
1.终端内:
npm run start
启动脚本:Nodemon会自动检测到它运行在. ts文件上,并将使用ts节点来运行您的应用程序。vecaoik15#
}
eaf3rand6#
在
package.json
文件中添加"type": "module"
。agxfikkp7#
加
“模块”:“公用js”
tsconfig.json中。这将解决此问题
更多详细信息,请参阅:https://nodejs.org/api/modules.html#modules-commonjs-modules