我有一个使用NextJS/Typescript开发的项目,想要添加一个CLI脚本,在服务器上处理一些文件。
不幸的是,我无法运行该脚本。
示例脚本src/cli.ts
:
console.log("Hello world");
// Process files
我尝试使用以下命令运行脚本:
ts-node src/cli.ts
但是我收到了这个错误消息:
src/cli.ts:1:1 - error TS1208: 'cli.ts' cannot be compiled under '--isolatedModules' because it is considered a global script file. Add an import, export, or an empty 'export {}' statement to make it a module.
当我添加一个空的 'export {}' 语句时,我会得到以下错误信息:
(node:15923) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.
据我所知,目前无法在ES模块中使用NextJS。在NextJS项目中运行脚本的另一种方式是否存在?也许需要更改webpack配置?我正在使用最新版本:Next 11、Typescript 4.3、Node 14.18、ts-node 10.13和默认的 tsconfig.json 和 package.json。请注意保留HTML标记。
npx tsx path/to/your/script.ts
,而不需要将tsx
添加到依赖项中,并在 package.json 中添加一个适当的脚本。 - undefined