Angular、npm、nexus 和 CI 实践
Angular, npm, nexus, and CI practices
这篇 post 是对 npm
的见解,适合那些有 maven
背景的人。
在 Java/maven
世界中,您将源代码构建到 jar,然后将您的 jar 推送到 Nexus。 所有这些都是使用 maven
.
完成的
最终,您的部署工具会从 Nexus 中的存储位置检索您的 jar,并将其交付到它所针对的任何环境。
现在我正在做一个 Angular 项目,很难把所有的部分放在一起。
我知道我可以将我的 Angular 项目发布到 Nexus 中的 npm 存储库。但是我在这里发布的是一个npm包,包括一个package.json
文件。
我知道我可以将我的 Angular 项目构建到 /dist
文件夹,并将该文件夹交付到环境。
但现在,我不明白这一切是怎么回事:以我的 maven
背景,我希望使用 npm
推送 /dist
的内容到 Nexus!
我在这里错过了什么?这个领域有哪些好的做法?
经过一番研究,我对这个问题的理解是:
使用 ng build
编译后,您的 Angular 项目不再是 npm 项目,而是静态网站。
您可能不再像使用 maven
.
那样使用 npm
管理(在这种情况下:"deploy" 到 Nexus)您的项目
因此(引用 jonrsharpe 的评论)您可以压缩 ng build
生成的 /dist
文件夹的内容以分发它。
此时,如果你想将它推送到Nexus 仓库,你可以使用maven deploy plugin。但随后您的网站将被推送到 Maven 存储库。
底线:这完全取决于您需要做什么。
希望对您有所帮助。
在 angular 应用程序中使用 npm publish 总是可行的 而无需 使用 maven 部署插件。你应该先 运行 ng build 然后复制 package.json 到 dist 文件夹。您可以创建结合 ng build 和 cp[= 的特定构建脚本30=] 命令 package.json 到 dist 文件夹。
问题:您还应该像这样在 package.json 中提供 publishConfig :
“发布配置”:{
“注册表”:“https:///your-nexus-url/repository/npm-registry/”
}
最后,您应该将 npm 令牌添加到 .npmrc 文件。
我已经将它集成到一个带有 Jenkins 和 Nexus 的产品项目中,希望它能有所帮助。
这篇 post 是对 npm
的见解,适合那些有 maven
背景的人。
在 Java/maven
世界中,您将源代码构建到 jar,然后将您的 jar 推送到 Nexus。 所有这些都是使用 maven
.
完成的
最终,您的部署工具会从 Nexus 中的存储位置检索您的 jar,并将其交付到它所针对的任何环境。
现在我正在做一个 Angular 项目,很难把所有的部分放在一起。
我知道我可以将我的 Angular 项目发布到 Nexus 中的 npm 存储库。但是我在这里发布的是一个npm包,包括一个package.json
文件。
我知道我可以将我的 Angular 项目构建到 /dist
文件夹,并将该文件夹交付到环境。
但现在,我不明白这一切是怎么回事:以我的 maven
背景,我希望使用 npm
推送 /dist
的内容到 Nexus!
我在这里错过了什么?这个领域有哪些好的做法?
经过一番研究,我对这个问题的理解是:
使用 ng build
编译后,您的 Angular 项目不再是 npm 项目,而是静态网站。
您可能不再像使用 maven
.
npm
管理(在这种情况下:"deploy" 到 Nexus)您的项目
因此(引用 jonrsharpe 的评论)您可以压缩 ng build
生成的 /dist
文件夹的内容以分发它。
此时,如果你想将它推送到Nexus 仓库,你可以使用maven deploy plugin。但随后您的网站将被推送到 Maven 存储库。
底线:这完全取决于您需要做什么。
希望对您有所帮助。
在 angular 应用程序中使用 npm publish 总是可行的 而无需 使用 maven 部署插件。你应该先 运行 ng build 然后复制 package.json 到 dist 文件夹。您可以创建结合 ng build 和 cp[= 的特定构建脚本30=] 命令 package.json 到 dist 文件夹。
问题:您还应该像这样在 package.json 中提供 publishConfig :
“发布配置”:{ “注册表”:“https:///your-nexus-url/repository/npm-registry/” }
最后,您应该将 npm 令牌添加到 .npmrc 文件。
我已经将它集成到一个带有 Jenkins 和 Nexus 的产品项目中,希望它能有所帮助。