【问题标题】:platform-browser-dynamic.umd.js - 404 after updating packages in Angular2 tutorialplatform-b​​rowser-dynamic.umd.js - 在 Angular2 教程中更新包后的 404
【发布时间】:2016-11-12 10:40:48
【问题描述】:

我不久前开始学习 Angular2 教程。现在我回到了Routing chapter,看来教程已经稍微更新了,我不得不回去将package.json更新为current version,否则app.routes.ts文件不会' t 编译。现在它编译得很好,但是当我运行应用程序时,脚本在运行时崩溃,显然在 Zone.js 包中:

我检查过,platform-browser-dynamic.umd.js 文件确实不存在于磁盘上。

这是新的package.json 文件:

{
  "name": "angular2-quickstart",
  "version": "1.0.0",
  "scripts": {
    "start": "tsc && concurrently \"npm run tsc:w\" \"npm run lite\" ",
    "lite": "lite-server",
    "postinstall": "typings install",
    "tsc": "tsc",
    "tsc:w": "tsc -w",
    "typings": "typings"
  },
  "license": "ISC",
  "dependencies": {
    "@angular/common": "2.0.0-rc.4",
    "@angular/compiler": "2.0.0-rc.4",
    "@angular/core": "2.0.0-rc.4",
    "@angular/forms": "0.2.0",
    "@angular/http": "2.0.0-rc.4",
    "@angular/platform-browser": "2.0.0-rc.4",
    "@angular/platform-browser-dynamic": "2.0.0-rc.4",
    "@angular/router": "3.0.0-beta.1",
    "@angular/router-deprecated": "2.0.0-rc.2",
    "@angular/upgrade": "2.0.0-rc.4",
    "systemjs": "0.19.27",
    "core-js": "^2.4.0",
    "reflect-metadata": "^0.1.3",
    "rxjs": "5.0.0-beta.6",
    "zone.js": "^0.6.12",
    "angular2-in-memory-web-api": "0.0.14",
    "bootstrap": "^3.3.6"
  },
  "devDependencies": {
    "concurrently": "^2.0.0",
    "lite-server": "^2.2.0",
    "typescript": "^1.8.10",
    "typings":"^1.0.4"
  }
}

我试过使用the longer version from the tutorial's GitHub repository,但错误是一样的。虽然原版 GitHub 项目构建和运行良好。

我已确保 index.html 中的 <script> 标记与 GitHub 上的标记匹配:

<script src="node_modules/core-js/client/shim.min.js"></script>

<script src="node_modules/zone.js/dist/zone.js"></script>
<script src="node_modules/reflect-metadata/Reflect.js"></script>
<script src="node_modules/systemjs/dist/system.src.js"></script>

<script src="systemjs.config.js"></script>

我的typings.json 文件:

{
  "globalDependencies": {
    "core-js": "registry:dt/core-js#0.0.0+20160317120654",
    "jasmine": "registry:dt/jasmine#2.2.0+20160505161446",
    "node": "registry:dt/node#4.0.0+20160509154515"
  }
}

我怎样才能摆脱这个错误?到目前为止,我的 Angular2 经验包括像猴子一样从教程中复制代码,我真的不明白这个错误与什么有关......

【问题讨论】:

    标签: angularjs angular npm


    【解决方案1】:

    您的 Angular2 应用无法将 platform-browser-dynamic.umd.js 以及您的其他 umd 捆绑包 as they were moved 加载到 2.0.0-rc.2 中的 bundles/ 子目录。

    您已经注意到您的错误在您的 system.config.js 中,因为它试图使用错误的路径 (see here) 加载 umd 包。

    复制新的配置文件应该已经添加了'/bundles/' + 部分,这确实可以解决您的问题。

    【讨论】:

    • 如何复制这个文件?我的意思是从哪里到哪里?手动?
    【解决方案2】:

    【讨论】:

    • 您还想解释为什么它以前不起作用吗?我刚开始写答案。
    • @Jonas 当然,很高兴了解此文件中发生的情况。如果你的回答比我那个烂的好,我会接受。
    【解决方案3】:

    node_modules/@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.js Failed to load resource: the server responded with a status of 404 (Not Found)

    index.html:18 Error: (SystemJS) XHR error (404 Not Found) loading http://localhost:51412/src/node_modules/@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.js
    Error: XHR error (404 Not Found)
    

    嗯,我遇到了上述问题。要修复它,请删除浏览器缓存并在 Visual Studio 中按 f5。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-23
      • 2019-11-27
      相关资源
      最近更新 更多