node端启动一个ts,报错 TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension “.ts”
如何启动一个ts文件并热更新改文件
使用 nodemon -r mian.ts 命令
nodemon -r mian.ts
发现会报错 无法识别.ts后缀 文件,怎么办?
我们可以用到 dotenv 这个库
这个库是一个 Node.js 应用程序的环境变量管理库,它非常适合在开发环境中管理敏感的配置信息,例如数据库连接字符串、API密钥等。dotenv 库允许您将这些配置信息存储在一个名为 .env 的文件中,并在应用启动时加载这些变量到环境变量中。
首先安装
npm i -D dotenv
然后我们用到 dotenv/config 模块
它的主要作用是执行两个操作:
-
解析.env文件并加载其中的环境变量到process.env中: 当您调用dotenv/config时,会自动读取项目根目录下的.env文件,并将其中的环境变量加载到 process.env 中,以便您的应用程序可以访问这些环境变量。
-
返回一个包含已加载环境变量的对象: dotenv/config 模块会返回一个包含已加载环境变量的对象,可以在需要时直接使用。
为什么nodemon -r dotenv/config *.ts 可以直接运行 .ts 文件:
当您使用 nodemon -r dotenv/config *.ts 命令时,实际上是在启动时通过 nodemon 加载了 dotenv/config 模块,然后再加载了 *.ts 文件。因为在加载 dotenv/config 模块时,会通过 ts-node 来解析 TypeScript 文件,所以可以直接运行 .ts 文件。
接下来通过 dotenv/config 成功运行 .ts 文件
nodemon -r dotenv/config mian.ts
根目录补充 nodemon.json 文件
{
"ext": "ts",
"execMap": {
"ts": "node --loader ts-node/esm --experimental-specifier-resolution=node"
}
}