javascript - Angular2 无法更新到 RC7 - zone.js 和反射元数据

标签 javascript angular zonejs reflect-metadata

我正在尝试让我的应用程序与新的 RC7 of angular 一起运行,但我似乎无法完成它,因为控制台大喊:

Promise rejection: Zone.assertZonePatched is not a function      angular2-polyfills.js:489

当这个不知何故消失时,会弹出:

Reflect.getMetadata is not a function (..)                                core.umd.js:472

看起来实现发生了变化,虽然我从头开始npm install一切都没有更新,但更新我的package.json如下:

{
  "name": "angular2-quickstart",
  "version": "1.0.0",
  "scripts": {
    "build": "webpack",
    "start": "webpack-dev-server",
    "typings": "typings",
    "postinstall": "typings install"
  },
  "license": "ISC",
  "dependencies": {
    "@angular/common": "2.0.0-rc.7",
    "@angular/compiler": "2.0.0-rc.7",
    "@angular/core": "2.0.0-rc.7",
    "@angular/forms": "2.0.0-rc.7",
    "@angular/http": "2.0.0-rc.7",
    "@angular/platform-browser": "2.0.0-rc.7",
    "@angular/platform-browser-dynamic": "2.0.0-rc.7",
    "@angular/router": "3.0.0-rc.3",
    "@angular/upgrade": "2.0.0-rc.7",
    "core-js": "^2.4.1",
    "reflect-metadata": "^0.1.3",
    "rxjs": "5.0.0-beta.12",
    "zone.js": "^0.6.21",
    "angular2-in-memory-web-api": "0.0.19",
    "@ng-bootstrap/ng-bootstrap": "^1.0.0-alpha.3",
    "angular2": "2.0.0-beta.17",
    "angular2-apollo": "^0.4.6",
    "apollo-client": "^0.4.13",
    "es6-promise": "^3.0.2",
    "es6-shim": "^0.35.1",
    "moment": "^2.14.1",
    "source-map-loader": "^0.1.5"
  },
  "devDependencies": {
    "ts-loader": "^0.8.2"
  }
}

index.html:(我也尝试引用 unpkg.com 来获取包,但没有成功)

<html>

  <head>
    <title>My App</title>

    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.3/css/bootstrap.min.css"
          integrity="sha384-MIwDKRSSImVFAZCVLtU0LMDdON6KVCrZHyVQQj6e8wIEJkW4tvwqXrbMIya1vriY" crossorigin="anonymous">
    <link rel="stylesheet" href="style.css">

    <!-- 1. Load libraries -->
    <!-- IE required polyfills, in this exact order -->
    <script src="node_modules/es6-shim/es6-shim.min.js"></script>

    <script src="https://www.atlasestateagents.co.uk/javascript/tether.min.js"></script>
    <script src="https://code.jquery.com/jquery-3.1.0.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.3/js/bootstrap.min.js"
            integrity="sha384-ux8v3A6CPtOTqOzMKiuo3d/DomGaaClxFYdCu2HPMBEkf6x2xiDyJ7gkXU0MWwaD" crossorigin="anonymous"></script>

    <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>
  </head>

  <!-- 3. Display the application -->
  <body>
    <my-app>Loading...</my-app>
  </body>

  <script src="node_modules/angular2/bundles/angular2-polyfills.js"></script>
  <script src="dist/bundle.js"></script>
</html>

知道如何解决这个问题吗?

提前致谢! :)

最佳答案

注意事项:

  • 根据 package.json,您使用的是 Angular2.0.0 您不需要 angular2-polyfills.js/强>
  • package.json 中删除 "angular2": "2.0.0-beta.17"
  • index.html

    中移除 angular2-polyfills.js
    <script src="node_modules/angular2/bundles/angular2-polyfills.js"></script>
    

事实上,如果您在 node_modules 下有 angular2 文件夹,请删除该文件夹。最新的 angular2 包将在 node_modules 下的 @angular 文件夹中提供。

关于javascript - Angular2 无法更新到 RC7 - zone.js 和反射元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39549071/

相关文章:

javascript - 如何使用 es6 从文件导入 jQuery

javascript - 计算圆度

angular 2 变化检测和 ChangeDetectionStrategy.OnPush

javascript - 如何在更改函数 jquery 上重新加载 dataTable 并获取选定的值选项选择?

javascript - 如何在 JavaScript 中调用 Less.js 函数?

angular - Angular2 中的主机绑定(bind) ngIf

angular - 同样的数据在angular9中显示不同,为什么?

angular2 你如何在 `ngFor` 内渲染一个计时器组件

angular - Primeng 的 'selectedItem' 模板不起作用,它始终将所选值设置为在自动完成中设置的 'field' 属性

javascript - 不同框架中的 Web 组件