实际上,我需要将我的角度应用程序部署到Azure中。老实说,这是我第一次使用Angular应用程序进行部署。所以我选择的是带有Grunt模板的Node。
这是步骤
steps:
- task: Npm@1
displayName: 'npm install'
inputs:
workingDir: CrSPA/Clientapp
verbose: false
steps:
- task: Npm@1
displayName: 'Build Project'
inputs:
command: custom
workingDir: CrSPA/Clientapp
verbose: false
customCommand: 'run build-prod'
运行build-prod 表示 ng build --prod
我的问题是它是否正确。我之所以这样问是因为,只要对应用程序进行小的更改,整个npm安装过程就会发生,并且需要很长时间才能完成。所以我不确定我遵循的方式是最好的方法。
最好在本地构建后再推送吗?将node_modules文件夹也推送到存储库中也可以,所以我不能总是执行 npm安装吗?
答案 0 :(得分:1)
您的方法很好,您应该始终在文件进入存储库之前在管道上执行npm i
和ng build --prod
。
这是因为当多个人在同一个应用程序上工作时,如果他们不添加package
而添加了一个新的npm install
,则您的样条线构建将会失败。所以总是建议这样做
1. npm install
2. ng build --prod
您可以阅读有关此article
的更多信息答案 1 :(得分:1)
实际上,在进行部署时最好先进行依赖,
您可以轻松地在包json中指定和更改您所依赖的这些包的版本,从而在部署环境中不会出现任何问题,并且您的构建将使用JSON文件中列出的确切包版本。
另外,最好使用 npm ci
而不是 npm i
,因为它使用具有确切版本号的软件包锁定文件,因此您将始终使用完全正确的版本。
这很好地解释了为什么不应该包括node_modules
来进行提交和构建