【发布时间】:2020-10-03 13:28:11
【问题描述】:
我在我的节点项目中使用 Typescript,这是我的 tsconfig -
{
"compilerOptions": {
"module": "commonjs",
"esModuleInterop": true,
"target": "es6",
"noImplicitAny": true,
"moduleResolution": "node",
"sourceMap": true,
"outDir": "dist/application",
"baseUrl": "./src",
"paths": {
"*": [
"node_modules/*",
"src/shared/types/*"
]
}
},
"include": [
"src/**/*"
],
"exclude": [
"node_modules"
],
"typedocOptions": {
"mode": "modules",
"out": "docs"
}
}
这是我的应用程序文件夹结构 -
.
├── dist
│ └── application
│ ├── app.js
│ ├── app.js.map
│ ├── modules
│ └── shared
├── environments
│ └── .env.development
├── node_modules
├── nodemon.json
├── package-lock.json
├── package.json
├── security
│ ├── domain.crt
│ └── domain.key
├── src
│ ├── app.ts
│ ├── modules
│ │ ├── chat
│ │ ├── main-controller.ts
│ │ └── sso
│ └── shared
│ ├── constants
│ ├── models
│ ├── types
│ └── utils
├── tsconfig.json
└── typedoc.json
编译后,Typescript 编译器将所有内容放在 .dist/application 中。
在开发过程中,我的主文件 (app.ts) 位于 ./src/app.ts 中。在这个 app.ts 文件中,我试图读取 ./src/app.ts 中的 .env.development 文件。 这就是我在 app.ts 中读取此文件的方式 -
config({ path: resolve(Utils.getAppRoot(), "../environments/.env.development") });
但在运行时系统无法解析 .env 文件的路径,因为 TS 编译器将 app.ts 代码放在 ./dist/application/app.js 中,而 Node 无法找到 .env 文件的路径。 env 文件相对于当前根路径。
要解决此问题,我需要在编译时将所有配置/静态文件(此处为 .env 文件)复制到 ./dist 文件夹中。
有人可以帮我设置 ts-config 以便在编译时将这些静态文件复制到 ./dist/folder 吗?
【问题讨论】:
标签: node.js typescript webpack build package.json