问题描述
我有一个以两种不同方式构建的 Angular 项目 - 用于两种不同的环境(DEV 和 PROD;都在公司服务器上)
我在网上发现了关于何时将 devDependencies(来自 package.json)包含到构建中的不同定义。
def1:仅在本地开发期间 -> 不在运行时
def2:仅在非生产构建时
如果定义 1 是准确的,那么我的问题就过时了。 但是,如果定义 2 为真,那么我的问题是:
这两个命令中的哪一个可以作为 prod 构建?
ng build --base-href /appname/
ng build --prod --base-href /appname/
这个问题是因为我的一些 devDependencies 有被评为不安全的子依赖项(公司内部)。如果 devDependencies 未随任何部署(DEV 或 PROD)一起提供,则没有问题。
解决方法
命令
ng build --prod --base-href /appname/
是您的产品版本。当您运行此构建命令时,您的环境设置将从 src/environments/environment.prod.ts 文件中获取并存储在 /dist 输出文件夹中的应用程序 JavaScript 输出中。
,devDependencies
的 package.json
部分中列出的软件包可帮助您在本地计算机上开发应用程序。您不会将它们与生产应用程序一起部署。
使用
构建您的生产配置ng build --prod --base-href /appname/
或
ng build --configuration=production --base-href /appname/