NestJS:复制资源在 Linux 上不起作用

问题描述

我正在处理一个 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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...