【问题标题】:Error while Lazy Loading Angular Modules With MVC5 Application使用 MVC5 应用程序延迟加载 Angular 模块时出错
【发布时间】:2018-11-20 08:46:17
【问题描述】:

我正在使用 Angular 5 构建 MVC5 应用程序,并且我正在使用 Angular Cli 创建 Angular 应用程序。

问题是应用程序在端口 7076 上运行,而 Angular 应用程序使用 Angular cli 使用端口 4200。当我运行 MVC 应用程序时,除了延迟加载的模块外,一切正常。对于所有 *.chunk.js 文件,浏览器直接在应用程序根目录中查找这些文件,而这些文件位于 /dist/ 目录下。

如何让 *.chunk.js 文件从 dist 文件夹中加载?

【问题讨论】:

  • 设置你的服务器,让他读取你的 dist 文件。
  • @trichetriche:所有 *.bundle.js 文件都已从 dist 文件夹中引用。但是 *.module.chunk.js 文件是为延迟加载的模块生成的。这些 *.module.chunk.js 文件是直接从解决方案中引用的。那么从 /dist/ 文件夹中引用 *.module.chunk.js 文件需要什么配置/设置
  • 所有构建的文件都将在 dist 文件夹中。根据定义,您可以简单地使用该 dist 文件夹,然后移动它:这就像 Java 中的 .jar 或 Windows 中的 .exe。如果您的文件不在其中,请不要寻找如何将它们放入其中:寻找为什么它们不在其中。
  • @trichetriche:问题是为什么延迟加载的模块文件 *.module.chunk.js 文件没有从 dist 文件夹中引用。所有其他包(如 vendor.bundle.js 等)都是从 dist 文件夹引用的,而不是块文件。我们如何使块文件从 dist 文件夹加载
  • 我告诉你他们是。我当前的项目中有 6 个延迟加载的模块,所以我很确定它们是。这就是我告诉你的原因,找出为什么它们不在你身边的 dist 文件夹中。

标签: asp.net-mvc angular angular-cli


【解决方案1】:

我已阅读上述内容,意识到这是一个老问题,但尚未解决,因此试图给出一个答案,以帮助面临类似问题的人。

要从“dist”文件夹中读取延迟加载块文件,您需要从 angular.json (Angular CLI) 文件中设置“deployUrl”属性。

"deployUrl" : "dist/",

请确保“/”应该在 dist 文件夹路径或 url 的末尾。

【讨论】:

  • 感谢您准确而准确的回答。这为我节省了很多时间。
  • 这行得通。唯一的问题是延迟加载的模块不使用捆绑附带的 MVC 散列。因此,取决于服务器上的缓存策略,您可能会使用旧版本的延迟加载模块。解决这个问题的唯一方法是在角度构建期间启用散列。这意味着您使用 MVC 散列的其他文件和延迟加载的模块使用角度散列来防止加载旧文件。
猜你喜欢
  • 1970-01-01
  • 2018-06-14
  • 1970-01-01
  • 1970-01-01
  • 2018-06-19
  • 2020-08-11
  • 2017-02-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多