2016-03-05 84 views
1

我有一个配置了ng2.0.0-beta.0的apache cordova typescript项目,并在启动时成功工作,请参阅package.json和javascript控制台输出如下。从ng2.0.0-beta.0移动到ng2.0.0-beta.7的错误

我试图转移到当前在该项目中的ng2.0.0-beta.7包,看看它是否解决了意外的问题,我遇到了当模板引用类成员变量更改时视图没有更新的地方,详细信息请参阅“cordova app angular 2 member variable update not updating template reference to it”。

当我切换到ng2.0.0-beta.7包一切transpiles罚款,但NG2没有成功启动,请参见下面的package.json和JavaScript控制台输出。

我对https://github.com/myusrn/acu6withng2的master分支中的ng2.0.0-beta.0情况和acu6withng27主题分支https://github.com/myusrn/acu6withng2/tree/acu6withng27中的ng2.0.0-beta.7情况有repro。

任何人都见过ng2.0.0-beta.7这个运行时错误,如果是的话是由于一些步骤我俯瞰或许有它的已知解决?

ng2.0.0-beta.7的package.json

"dependencies": { 
    "angular2": "2.0.0-beta.7", 
    "es6-promise": "3.0.2", 
    "es6-shim": "0.33.3", 
    "reflect-metadata": "0.1.2", 
    "rxjs": "5.0.0-beta.2", 
    "systemjs": "0.19.9", 
    "zone.js": "0.5.10" 
    }, 

ng2.0.0-beta.7运行JavaScript控制台输出误差

Uncaught TypeError: Cannot redefine property: onreadystatechange 
angular2-polyfills.js (1569,25) 
DEPRECATION WARNING: 'enqueueTask' is no longer supported and will be removed in next major release. Use addTask/addRepeatingTask/addMicroTask 
angular2-polyfills.js (1152,18) 
DEPRECATION WARNING: 'dequeueTask' is no longer supported and will be removed in next major release. Use removeTask/removeRepeatingTask/removeMicroTask 
angular2-polyfills.js (1152,18) 
reflect-metadata shim is required when using class decorators 
    Error loading http://localhost:4400/app/main.js 
angular2-polyfills.js (468,17) 

ng2.0.0-β 0.0的package.json

"dependencies": { 
    "angular2": "2.0.0-beta.0", 
    "es6-promise": "3.0.2", 
    "es6-shim": "0.33.3", 
    "reflect-metadata": "0.1.2", 
    "rxjs": "5.0.0-beta.0", 
    "systemjs": "0.19.9", 
    "zone.js": "0.5.10" 
    }, 

ng2.0.0-beta.0运行JavaScript控制台输出

Angular 2 is running in the development mode. Call enableProdMode() to enable the production mode. 
angular2.dev.js (351,13) 

ng2.0.0-beta.0/0.7的index.html

<!-- Cordova reference, this is added to your app when it's built. --> 
<script src="cordova.js"></script> 
<script src="scripts/platformOverrides.js"></script> 
<!--<script src="scripts/appbundle.js"></script>--> 
<script src="scripts/index.js"></script> 

<!-- 1. Load libraries needed for ng2 --> 
<script src="node_modules/es6-shim/es6-shim.js"></script> 
<script src="node_modules/angular2/bundles/angular2-polyfills.js"></script> 
<script src="node_modules/systemjs/dist/system.src.js"></script> 
<script src="node_modules/rxjs/bundles/Rx.js"></script> 
<script src="node_modules/angular2/bundles/angular2.dev.js"></script> 
<script src="node_modules/angular2/bundles/router.dev.js"></script> 
<script src="node_modules/angular2/bundles/http.dev.js"></script> 
+0

我不使用测试版7.0还没有,但似乎根据公测7.0看https://github.com/angular/angular/blob/master/CHANGELOG.md#200-beta7-2016-更新日志有没有什么变化02-18 –

+0

你能提供你的主HTML文件的内容吗? (脚本,SystemJS配置,...)谢谢! –

+0

嗨@Pardeep,谢谢你的回复。我同意,从ng2.0.0-beta.6到.7没有什么变化,但是如果我正在阅读那个更改日志页面的详细信息,看起来好像很多从ng2.0.0.0-beta.0到.7的更改正确。 – myusrn

回答

2

我找到了解决这一其中涉及到简单地将以下内容添加到index.html脚本标记列表中,并与新的ng 2.0.0-beta.8软件包一起工作。

<script src="node_modules/reflect-metadata/Reflect.js"></script> 

因为如果不同的是我的Hello World项目环境或需要被添加到快速开始上又该注意事项的详细情况的问题,这个细节是不是当前https://angular.io/guide/quickstart我不知道的一部分进入index.html脚本标记。

+1

感谢您发表该答案!奇怪,但通常'angular2-polyfills.js'文件包含Reflect-metadata ... –

相关问题