2016-09-20 45 views
11

我已經從RC4升級到Angular2的最終版本。當我運行npm start,該應用程序是停留在 '正在載入' 我得到的唯一錯誤是關於Zone.js:Angular2最終發佈 - 「錯誤:Angular需要Zone.js prulfill」

enter image description here

基本上,typeof Zone未定義:

enter image description here

這裏是我的package.json:

"engines": { 
"node": ">= 4.2.1", 
"npm": "3.10.7" 
}, 
"dependencies": { 
"@angular/common": "2.0.0", 
"@angular/compiler": "2.0.0", 
"@angular/core": "2.0.0", 
"@angular/forms": "2.0.0", 
"@angular/http": "2.0.0", 
"@angular/platform-browser": "2.0.0", 
"@angular/platform-browser-dynamic": "2.0.0", 
"@angular/platform-server": "2.0.0", 
"@angular/router": "3.0.0", 
"@salesforce-ux/design-system": "^2.0.3", 
"angular2-busy": "^0.3.2-rc.6", 
"chart.js": "2.1.0", 
"core-js": "^2.4.0", 
"d3": "^4.2.3", 
"lodash": "^4.14.0", 
"moment": "^2.14.1", 
"ng2-bootstrap": "^1.1.4", 
"ng2-charts": "^1.1.0", 
"ng2-datepicker": "^1.0.6", 
"ng2-pagination": "^0.4.1", 
"normalize.css": "^4.1.1", 
"rxjs": "5.0.0-beta.12", 
"typescript": "2.1.0-dev.20160916", 
"zone.js": "0.6.21" 
}, 
"devDependencies": { 
"@angular/compiler-cli": "^0.6.1", 
"@types/core-js": "^0.9.28", 
"@types/hammerjs": "^2.0.28", 
"@types/jasmine": "^2.2.29", 
"@types/lodash": "^4.14.34", 
"@types/node": "^6.0.38", 
"@types/source-map": "^0.1.26", 
"@types/webpack": "^1.12.29", 
"angular2-hmr": "~0.6.0", 
"awesome-typescript-loader": "~0.17.0", 
"compression-webpack-plugin": "^0.3.1", 
"copy-webpack-plugin": "^2.1.3", 
"css-loader": "^0.23.1", 
"es6-promise": "^3.1.2", 
"es6-promise-loader": "^1.0.1", 
"es6-shim": "^0.35.0", 
"es7-reflect-metadata": "^1.6.0", 
"exports-loader": "^0.6.3", 
"expose-loader": "^0.7.1", 
"file-loader": "^0.8.5", 
"html-webpack-plugin": "^2.15.0", 
"http-server": "^0.9.0", 
"imports-loader": "^0.6.5", 
"jasmine": "^2.4.1", 
"json-loader": "^0.5.4", 
"object-assign": "4.0.1", 
"phantomjs-polyfill": "0.0.1", 
"raw-loader": "0.5.1", 
"source-map-loader": "^0.1.5", 
"style-loader": "^0.13.1", 
"ts-helpers": "1.1.1", 
"ts-node": "^0.7.1", 
"tslint": "^3.7.1", 
"tslint-loader": "^2.1.3", 
"typescript": "2.0.0", 
"url-loader": "^0.5.7", 
"wallaby-webpack": "0.0.11", 
"webpack": "^1.13.0", 
"webpack-dev-server": "^1.14.1", 
"webpack-md5-hash": "^0.0.5", 
"webpack-merge": "^0.12.0" 
    } 
} 

我已經試過zone.js^0.6.23和these package versions as well.任何想法?我可以編輯和添加更多信息。

編輯:我在CHANGELOG發現的唯一線索是this from RC 6:

testing config: due to zone.js peer-dependency upgrade, the order in which various zone specs are loaded has changed. Please see this example Karma config.

編輯:我試着在index.html進口Zone.js在腳本標記,即使我有包裝在node_modules我得到這些錯誤: enter image description here

回答

9

在包含angular之前,您需要將Zone包含爲腳本標記,但它不會作爲模塊加載。請參閱 https://angular.io/guide/quickstart

<!-- 1. Load libraries --> 

<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> 
+0

感謝您的回覆,我編輯了我的答案。你認爲我的'src'鏈接是錯誤的,即它應該啓動'somethingElse/node_modules/...'? – jhhoff02

+1

您沒有顯示您的HTML,目錄結構,Web服務器設置......但問題很明顯,您沒有從正確的位置加載它。這是一個單獨的問題,您必須配置您的服務器以使其可用,併爲其提供正確的路徑。 –

+0

是的,我沒有加載它我猜,我在'vendors.ts'丟失了這個:'import'zone.js/dist/zone';' – jhhoff02

相關問題