我的 java web 应用程序的 Angular 4 UI 仅依赖于以下几个包。我从 webapps root 运行了以下命令。应用程序运行良好。我想知道最佳实践,因为我是 Angular 的新手。
npm install rxjs
npm install @angular/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="5a3935283f1a6e746e746c" rel="noreferrer noopener nofollow">[email protected]</a> @angular/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="05666a68686a6b45312b312b33" rel="noreferrer noopener nofollow">[email protected]</a> @angular/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="55363a38253c39302715617b617b63" rel="noreferrer noopener nofollow">[email protected]</a> @angular/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="07776b66736168756a2a65756870746275473329332931" rel="noreferrer noopener nofollow">[email protected]</a> @angular/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="80f0ece1f4e6eff2edade2f2eff7f3e5f2ade4f9eee1ede9e3c0b4aeb4aeb6" rel="noreferrer noopener nofollow">[email protected]</a> @angular/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="61130e1415041321554f554f57" rel="noreferrer noopener nofollow">[email protected]</a> @angular/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="c7a1a8b5aab487f3e9f3e9f1" rel="noreferrer noopener nofollow">[email protected]</a> --save
npm install <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="c2b6bbb2a7b1a1b0abb2b682f0ecf6ecf0" rel="noreferrer noopener nofollow">[email protected]</a> --save
npm install <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="05756970626c6b28717c75607666776c757145302b372b32" rel="noreferrer noopener nofollow">[email protected]</a> --save
我引用了来自 systemjs.config.js
的已安装包,如下所示:
paths: {
'npm:' : 'node_modules/'
},
map: {
'@angular/core' : 'npm:@angular/core/bundles/core.umd.js'
.
.
}
查询:
- 应用程序不应太重,不能在
war
中包含整个node_modules
- 如果我将
node_modules
保留在项目根目录而不是 webapps 中,我如何从systemjs.config.js
引用它 - 我只想要这些 bundle ,而不是运行时下载的巨大文件堆栈
npm install @angular/cli
- 如果我们可以使用全局
node_modules
,如何从systemjs.config.js
引用它(我更喜欢将其保留在项目中,以免干扰服务器中的其他应用程序)使用不同的版本) - 最后,我应该在
build.gradle
中包含哪些内容,以便在 gradle 构建时下载所需的包
最佳答案
正如 @Oliver Charlesworth 所说,Gradle 有其局限性,但您可以创建自定义 gradle 任务。
示例:
task npmInstall(type: Exec) {
workingDir 'src/main/webapp'
commandLine 'npm', 'install'
}
将构建依赖项添加到您的 war
构建步骤
war {
dependsOn npmBuild
}
关于java - 如何告诉 gradle 在构建时在项目中安装 npm?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47675044/