On Meteor 1.4.1.1因为我已经更新到最新的Angular 2.0.1版本,所以我很难对付这个错误:Zone.js has detected that ZoneAwarePromise (window|global).Promise has been overwritten
我已尝试meteor update
和meteor reset
,但错误仍然存在。
我已经找了一些答案说我应该在每个其他脚本之后加载Zone.js。问题是我无法控制Meteor上的加载顺序。
这是我的package.json依赖项:
"dependencies": {
"@angular/common": "^2.0.1",
"@angular/compiler": "^2.0.1",
"@angular/core": "^2.0.1",
"@angular/forms": "^2.0.1",
"@angular/platform-browser": "^2.0.1",
"@angular/platform-browser-dynamic": "^2.0.1",
"angular2": "^2.0.0-beta.17",
"angular2-meteor": "^0.7.0",
"angular2-meteor-polyfills": "^0.1.1",
"bcrypt": "^0.8.7",
"bluebird": "^3.4.6",
"chart.js": "^2.3.0",
"es6-shim": "^0.35.1",
"meteor-node-stubs": "^0.2.3",
"reflect-metadata": "^0.1.2",
"rxjs": "^5.0.0-beta.12",
"ui-router-ng2": "^1.0.0-beta.3",
"zone.js": "^0.6.25"
}
这是我的流星套餐:
meteor-base@1.0.4 # Packages every Meteor app needs to have
mobile-experience@1.0.4 # Packages for a great mobile UX
mongo@1.1.12 # The database Meteor supports right now
reactive-var@1.0.10 # Reactive variable for tracker
jquery@1.11.9 # Helpful client-side library
tracker@1.1.0 # Meteor's client-side reactive programming library
standard-minifier-css@1.2.0 # CSS minifier run for production mode
es5-shim@4.6.14 # ECMAScript 5 compatibility for older browsers.
ecmascript@0.5.8 # Enable ECMAScript2015+ syntax in app code
angular2-compilers@0.6.2_1
barbatus:angular2-runtime
deanius:promise
momentjs:moment
fortawesome:fontawesome
dburles:collection-helpers
accounts-password@1.3.0
promise@0.8.4
meteorhacks:ssr
email@1.1.17
jalik:ufs
jalik:ufs-local
service-configuration@1.0.10
accounts-facebook@1.0.10
accounts-google@1.0.10
accounts-twitter@1.1.11
percolate:synced-cron
shell-server`
有什么想法吗?
答案 0 :(得分:1)
Promise
的 zone.js
被promise
包覆盖,这是ecmascript
和deanius:promise
的依赖。
您需要删除ecmascript
并在任何地方使用typescript(客户端和服务器)
答案 1 :(得分:0)
这对我有用。
meteor remove barbatus:angular2-runtime
meteor remove barbatus:angular2-polyfills
和/或这个
npm uninstall barbatus:angular2-runtime
npm uninstall barbatus:angular2-polyfills
如Richie 765所述: https://github.com/Urigo/angular2-meteor/issues/413
我发现barbatus:angular2-runtime和barbatus:angular2-polyfills与ecmascript不兼容。所以我卸载了它们。顺便说一句,是barbatus:angular2-runtime还用于什么?它似乎已从回购中删除,所以我认为无论如何它都没用。在我的项目中,我导入的第一件事就是 import' angular2-meteor-polyfills' 不必在每个文件中,就像首先加载的文件中的第一个导入一样。 /client/main.js将是个好地方。