2016-09-20 5 views
11

Я обновил с RC4 до финальной версии Angular2. Когда я бегу npm start, приложение зависает 'Загрузка ...' единственная ошибка, я получаю около Zone.js:Angular2 Final Release - «Ошибка: угловой требует Zone.js prolyfill»

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. Любые идеи? Я могу редактировать и добавлять дополнительную информацию.

Edit: Единственный ключ я нашел в 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.

Edit: Я попытался импортировать Zone.js в тегах сценария в index.html и я получаю эти ошибки, даже если у меня есть пакеты в node_modules: enter image description here

ответ

9

Перед включением углового вам необходимо включить 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, структуру каталогов, настройку веб-сервера ... Но проблема в том, что вы не загружаете ее из правильного места. Это отдельная проблема, вы должны настроить свой сервер, чтобы сделать его доступным и дать ему правильный путь. –

+0

Да, я не загружал его вообще, я думаю, я отсутствовал в 'vendors.ts':' import 'zone.js/dist/zone'; ' – jhhoff02

Смежные вопросы