在 Dockerfile 中执行 npm build 时未生成“dist”文件夹

PS0*_*S04 8 node.js npm docker

我通常为 Java / Go 应用程序编写 Dockerfile,这是我第一次遇到必须为已经存在的(和生产运行的)Node.js 应用程序编写 Dockerfile 的情况。根据我这几天对Node.js的一点了解,我们构建一个带有源代码的Node.js项目后会生成dist文件夹(如果我错了,请纠正我)。因此,我有兴趣将dist文件夹从父 Docker 映像复制到子 Docker 映像。

但是,当我将应用程序中的所有内容复制到父 Docker 映像(第 6 行)并运行“npm run build”命令后,不会为我生成 dist 文件夹(请注意正在生成node_modules和 package-lock.json)。

我的 Dockerfile 如下:

FROM node:10-alpine as BUILD
WORKDIR /src
COPY package*.json /src
RUN apk add --update --no cache \
    python \
    make \
    g++
RUN npm install
COPY . /src
RUN npm run build
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

use*_*701 11

如果您在节点应用程序中使用打字稿,请按照以下说明操作。

请在“tsconfig.json”的compilerOptions部分下添加以下条目

tsconfig.json

**"outDir": "./dist/"**

package.json - 也添加以下脚本。

"scripts": { "build": "tsc" }

现在,重新运行“npm run build”。您将看到 dist 文件夹。