Geo*_*Geo 5 angular-cli angular
我试图弄清楚如何基于环境打字稿文件中的变量来构建和部署使用cli cli构建的Angular 2项目。
例如,我的angular-cli.json文件有一个声明为“ environments / environment.dev.ts”的开发环境。该文件具有以下属性:
export const environment = {
production: false,
'output-path': '\\\\testServer\\apps\\appName\\'
};
Run Code Online (Sandbox Code Playgroud)
我想做的是能够调用ng build --dev,而cli将使用dev文件(正确执行)构建应用程序,而且还会将其输出到输出路径,在这种情况下,它将成为网络共享。无论如何,在没有合并其他CI工具和/或gulp的情况下可以做到这一点?
我在构建和传递路径时手动添加了-o(--output-path)选项,但是我不想为该公司构建解决方案,该解决方案要求开发人员每次手动键入路径。
我知道我可以更新package.json以使用--output-path参数添加用于构建/部署的新命令,但这将需要更新多个文件中的路径并添加许多新命令(用于本地,开发,测试,生产)。
有人对此有好的解决方案吗?
Angular 6+的更新:
将其设置在angular.json中:
对于开发环境:
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "dist/dev",
Run Code Online (Sandbox Code Playgroud)
对于生产环境:
"configurations": {
"production": {
"outputPath": "dist/prod",
Run Code Online (Sandbox Code Playgroud)
该ng build命令有一些标志可以处理您需要的...
--target=development (or -dev)
--target=production (or -prod)
&
--output-path=my/output/path
Run Code Online (Sandbox Code Playgroud)
因此,您可以创建 npm 脚本来结合使用它们:
//in package.json
"scripts": {
"devbuild": "ng build -dev --output-path=my/dev/output",
"prodbuild": "ng build -prod --output-path=my/prod/output"
}
Run Code Online (Sandbox Code Playgroud)
那你就可以跑了....
npm run devbuild
npm run prodbuild
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2675 次 |
| 最近记录: |