NPM项目的package.json文件允许您将开发依赖项与其他依赖项分开,并且这些依赖项未安装在生产环境中(将NODE_ENV设置为“ production”)。使用Angular CLI构建的项目将CLI添加为开发依赖项,但这意味着您无法使用ng build
在生产环境上构建应用程序。 Angular docs甚至建议使用ng build --prod
进行这种构建。
授予文档中的方法将使用全局CLI,而不使用node_modules文件夹中的方法,但这是使用npm代替我们运行构建任务的逻辑步骤,并且如果文档假设我们仅使用全局软件包,为什么还要将它添加到package.json中呢?
那么我是否缺少应使用NODE_ENV的方式,或者应该构建生产应用程序的方式?我已经使用Angular多年了,并且总是在生产应用程序的不同机器上构建,然后部署dist目录或只是未设置NODE_ENV,所以我没有看到这个问题,但是最近我们直接部署到了生产服务器与git并在那里建立。生产应用程序应如何构建以及在何处构建?