📜  nodemon 编译 typescript 并执行 js 文件 - Javascript (1)

📅  最后修改于: 2023-12-03 15:03:16.254000             🧑  作者: Mango

Nodemon 编译 TypeScript 并执行 JavaScript 文件

有时我们需要使用 TypeScript 编写 JavaScript,并在运行时自动编译 TypeScript 到 JavaScript。同时我们还需要能够在代码发生变化后自动重启 Node.js 服务。Nodemon 是一个 Node.js 应用程序,能够自动检测 Node.js 项目中的变化并自动重启应用程序。在结合 TypeScript 后,我们可以使用 Nodemon 来编译 TypeScript 并执行 JavaScript 文件的操作。

安装 TypeScript 和 Nodemon

要使用 Nodemon 编译 TypeScript 并执行 JavaScript 文件,我们需要安装 TypeScript 和 Nodemon。您可以使用以下命令来安装它们:

npm install typescript nodemon --save-dev

--save-dev 标志用于将 TypeScript 和 Nodemon 安装为开发依赖项。

配置 TypeScript

接下来,您需要在项目的根目录中创建一个 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 文件夹。

配置 Nodemon

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

使用以下命令启动 Nodemon,以便在使用 TypeScript 编写的项目中自动编译和重启:

npm start

上面的命令将使用在 package.json 中定义的 start 脚本来启动 Nodemon。

通过这种方式,您可以使用 Nodemon 编译 TypeScript 并执行 JavaScript 文件,同时在代码发生更改时自动重新加载服务器。