当我构建 Nestjs 应用程序时,我需要将某些 json 文件复制到 dist。特别是我有一个“engines”文件夹,我需要 json 文件位于 dist/和 prod 上,就像它们位于 src/engines 中一样。
但是,nest start 会删除 dist 文件夹并仅使用 d.ts、js 和 js.map 重新创建,并且我的 json 文件也被删除。
我尝试在我的
package.json
scripts
中执行以下操作:
"copy:json": "copyfiles -u 2 src/engines/**/*.json dist/engines",
"start": "nest start && yarn copy:json",
"start:dev": "nest start --watch && yarn copy:json",
"start:debug": "nest start --debug --watch && yarn copy:json",
"start:prod": "node dist/main && yarn copy:json",
我不知道为什么,但是当我启动:dev时,我的 dist
目录中仍然有任何
json文件。
yarn copy:json
单独运行效果很好(将正确的文件复制到正确的位置)
您可以将
*.json
文件添加到资产中,这些文件会在构建时复制。
例如。在你的
nest-cli.json
:
"compilerOptions": {
"deleteOutDir": true,
"assets": ["engines/**/*.json"],
"watchAssets": true
}