📅  最后修改于: 2023-12-03 15:03:16.254000             🧑  作者: Mango
有时我们需要使用 TypeScript 编写 JavaScript,并在运行时自动编译 TypeScript 到 JavaScript。同时我们还需要能够在代码发生变化后自动重启 Node.js 服务。Nodemon 是一个 Node.js 应用程序,能够自动检测 Node.js 项目中的变化并自动重启应用程序。在结合 TypeScript 后,我们可以使用 Nodemon 来编译 TypeScript 并执行 JavaScript 文件的操作。
要使用 Nodemon 编译 TypeScript 并执行 JavaScript 文件,我们需要安装 TypeScript 和 Nodemon。您可以使用以下命令来安装它们:
npm install typescript nodemon --save-dev
--save-dev
标志用于将 TypeScript 和 Nodemon 安装为开发依赖项。
接下来,您需要在项目的根目录中创建一个 tsconfig.json
文件从而配置 TypeScript 的编译器选项。以下是一个示例配置:
{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"outDir": "./dist",
"strict": true,
"esModuleInterop": true
},
"include": ["src/**/*"],
"exclude": ["node_modules"]
}
上述 tsconfig.json 配置了 TypeScript 编译器的选项,包括输出目录、严格模式、ES6 标准等。还指定了 TypeScript 的源代码位置(src/**/*),并排除了 node_modules
文件夹。
在 package.json
文件的 scripts
部分中,添加以下脚本:
"scripts": {
"start": "nodemon --watch 'src/**/*.ts' --exec 'ts-node' ./src/index.ts"
}
上述命令使用 nodemon 来监视 TypeScript 文件,并在变化发生时重新编译。它还使用 ts-node 执行编译后的 JavaScript 代码。如果您想要编译到 JavaScript 文件中,而不是运行时间编译,请在 start
脚本中使用 tsc
命令:
"scripts": {
"start": "nodemon --watch 'src/**/*.ts' --exec 'node' ./dist/index.js",
"build": "tsc"
}
使用以下命令启动 Nodemon,以便在使用 TypeScript 编写的项目中自动编译和重启:
npm start
上面的命令将使用在 package.json
中定义的 start
脚本来启动 Nodemon。
通过这种方式,您可以使用 Nodemon 编译 TypeScript 并执行 JavaScript 文件,同时在代码发生更改时自动重新加载服务器。