报错
- ts-node effect.ts
- ts-node 是一个 Node.js 的 TypeScript 执行器,它可以实时将 TypeScript 代码编译成 JavaScript 并执行。你可以通过 npm install -g ts-node 安装 ts-node(全局安装),然后使用 ts-node 命令来执行 .ts 文件,比如 ts-node yourfile.ts。
TypeError: Unknown file extension ".ts" for J:\web\vue-project\src\proxy\effect.tsat Object.getFileProtocolModuleFormat [as file:] (node:internal/modules/esm/get_format:160:9)at defaultGetFormat (node:internal/modules/esm/get_format:203:36)at defaultLoad (node:internal/modules/esm/load:143:22)at async ModuleLoader.load (node:internal/modules/esm/loader:403:7)at async ModuleLoader.moduleProvider (node:internal/modules/esm/loader:285:45)at async link (node:internal/modules/esm/module_job:78:21) {code: 'ERR_UNKNOWN_FILE_EXTENSION'
}
解决方案
- 把package.json中的type:'module’删除
- 将 “type”: “module” 添加到 package.json 后,整个包都将被视为使用 ESM。如果你有一些文件仍然需要使用 CommonJS,你需要将它们重命名为 .cjs 或将它们放在一个不会被 “type”: “module” 影响的子目录中。
{
“name”: “vue-project”,
“version”: “0.0.0”,
“private”: true,
“type”: “module”,
“scripts”: {}
}