问题描述
我正在处理一个 nestJS 项目并且在我的 Mac 上复制我的资产工作正常。但是,一旦我对它进行 dockerize 它就行不通了。
nest-cli.json
{
"collection": "@nestjs/schematics","sourceRoot": "src","compilerOptions": {
"assets": [
"**/*.hbs","**/*.css","**/*.jpg","**/*.png","**/*.jpeg"
],"watchAssets": true
}
}
Dockerfile:
FROM mhart/alpine-node:latest
RUN npm install pm2 -g
copY backend /var/www/backend
copY process.json /var/www
workdir /var/www
#RUN npm i -g @nestjs/cli (tried with and w/out -> no difference)
RUN cd ./backend && npm i --legacy-peer-deps && npm run build
# Expose ports
EXPOSE 80
CMD ["pm2-runtime","./backend/main"]
tsconfig.json
{
"compilerOptions": {
"module": "commonjs","declaration": true,"removeComments": true,"emitDecoratorMetadata": true,"experimentalDecorators": true,"allowSyntheticDefaultImports": true,"target": "es2017","sourceMap": true,"outDir": "./dist","baseUrl": "./","incremental": true
}
}
tsconfig.build.json
npm{
"extends": "./tsconfig.json","exclude": ["node_modules","test","dist","**/*spec.ts"]
}
我没有收到任何构建错误,我已经在我的 mac 上手动复制了这些步骤,并且所有内容都被复制了。当我进入 docker 镜像并手动运行 buld 步骤时,它没有错误,但同样没有资产被复制。
我的资产位于不同的模块和服务文件夹中,并且希望保持这种方式 - 所以我不是在寻找简单的构建后复制目录解决方案 :)
我尝试了不同的 linux dist。和节点版本 - 我不知道还有什么要检查的
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)