Angular4 + MVC + cli + 使用从 cli build 命令生成的 dist 文件夹进行部署

Posted

技术标签:

【中文标题】Angular4 + MVC + cli + 使用从 cli build 命令生成的 dist 文件夹进行部署【英文标题】:Angular4 + MVC + cli + deployment using dist folder generated from cli build command 【发布时间】:2019-04-06 12:47:10 【问题描述】:

我有一个 angular4 + MVC 项目。

我生成了一个 dist 文件夹 通过 cli 中的ng build --prod 命令进行角度分析。

我想删除 node 模块,并且只签入这些 dist 文件以进行生产。

我的问题是如何使用/dist 文件夹而不是/node 模块 来开始执行。

目前我正在使用我的 layout.cshtml(in mvc) 中的 system.import() 来导入 angular 的应用程序模块。

 <script>
System.import('app/main.js').catch(function (err)  console.error(err); );

systemjs.config 文件中的内容应该是什么,因为我的目的是消除节点模块,目前** systemjs.config ** 指向打开节点模块文件夹。

(function (global) System.config(
paths: 
  'npm:': 'node_modules/'
,
map: 
  'app': 'app',
  '@angular/core': 'npm:@angular/core/bundles/core.umd.js',
  '@angular/common': 'npm:@angular/common/bundles/common.umd.js',
  '@angular/animations': 'npm:@angular/animations/bundles/animations.umd.js',
  '@angular/animations/browser': 'npm:@angular/animations/bundles/animations-browser.umd.js',
  '@angular/platform-browser': 'npm:@angular/platform-browser/bundles/platform-browser.umd.js',
  '@angular/platform-browser/animations': 'npm:@angular/platform-browser/bundles/platform-browser-animations.umd.js',

等等。等等

任何帮助将不胜感激。

【问题讨论】:

本指南帮助了我:linkedin.com/pulse/… 正是哈里尼。就是这样。您可以将其发布为答案:) 【参考方案1】:

这一切都与您的构建中的 index.html 有关 - 它包含您所有的脚本部分和 polyfills

只需将您的 index.html 从 dist 文件夹添加到您的 cshtml 文件,并将您的脚本和样式映射到您的构建文件夹

您只需要部署您的 prod 构建,仅此而已 - 您可以排除您的节点模块并签入您的更改

谢谢!!快乐编码

【讨论】:

感谢您的帮助,尽管我之前找到了解决方案并且它对我有用。 1)我运行ng build命令在dist文件夹中生成节点文件和启动文件。 2)从项目中删除节点模块 3)在 cshtml 文件中添加一个指向 dist 文件夹中所有文件的包 / 或简单地将 dist 文件夹中文件的所有引用单独添加到 cshtml 文件。运行代码,一切正常

以上是关于Angular4 + MVC + cli + 使用从 cli build 命令生成的 dist 文件夹进行部署的主要内容,如果未能解决你的问题,请参考以下文章

angular4.0 安装最新版本的nodejsnpm@angular/cli的方法

angular4.0 安装最新版本的nodejsnpm@angular/cli的方法

Angular 4 CLI,WebPack,为整个网站动态切换引导主题

Asp.net MVC5 angular4未捕获引用错误:部署到IIS后系统未在systemjs.config.js中定义

angular4开源项目推荐

ng 服务后和更新时 Angular 4 CLI 太慢