节点 - 设置角度 cli 环境



我正在通过节点部署我的angular-cli应用程序。我用的不是ng serve --prod,而是npm start

有没有办法从 npm 实现--environment=prod设置,以便它使用 environment.prod.ts 而不是 environment.ts

我的 Dockerfile:

FROM node
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json /usr/src/app
RUN npm install
COPY . /usr/src/app
EXPOSE 4200
CMD ["npm", "start"]

包的顶部.json:

{
  "name": "asgard2",
  "version": "0.0.0",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "start": "ng serve --host 0.0.0.0",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
},
[...] 

要开始生产,我可以运行:

ng serve --prod

但我不能做:

npm start --prod

或者至少,当我这样做时,它仍然部署为调试。很可能我在部署中做错了什么。

据我了解,您希望将应用程序部署到真正的生产 Web 服务器上。

使用ng build --prod .这会在 dist 目录下生成一组静态文件,任何能够提供静态文件的 Web 服务器都可以提供这些文件。

在 docker 容器中安装一个生产 Web 服务器(例如 Apache 或 Nginx(,并使其提供这些静态文件。

如果需要,您也可以使用基于节点的Web服务器,但是如果目标只是提供静态文件,我真的不明白这一点,Apache或Nginx可能会更有效率。

您可以进入您的 environment.ts 文件并更改

export const environment = {
  production: false
};

export const environment = {
  production: true
};

最新更新