[英]Angular 2 CLI Upgraded to latest and now ng serve gives me errors
我在當前的Angular 2 CLI項目中升級到1.0.0-beta.11-webpack.8
,以及更新我的angular-cli.json以匹配升級的CLI的預期屬性。 當我運行服務時,我收到此錯誤:
`Cannot read property 'length' of undefined
TypeError: Cannot read property 'length' of undefined
at Object.getWebpackCommonConfig (/Applications/MAMP/htdocs/learnloop/node_modules/angular-cli/addon/ng2/models/webpack-build-common.ts:23:25)
at new NgCliWebpackConfig (/Applications/MAMP/htdocs/learnloop/node_modules/angular-cli/addon/ng2/models/webpack-config.ts:13:30)
at Class.exports.default.Task.extend.run (/Applications/MAMP/htdocs/learnloop/node_modules/angular-cli/addon/ng2/tasks/serve-webpack.ts:19:22)
at /Applications/MAMP/htdocs/learnloop/node_modules/angular-cli/addon/ng2/commands/serve.ts:84:26
at process._tickCallback (internal/process/next_tick.js:103:7)`
我已經和它搏斗了一段時間,但是在運行所有這些命令並讓Angular CLI處於不穩定狀態之后,我遇到了這個問題。 以下是我運行的命令:
`npm uninstall -g angular-cli
npm cache clean
npm install -g angular-cli@webpack
rm -rf node_modules dist tmp typings
npm install --save-dev angular-cli@webpack`
最后,這里是我正在運行的node,npm和Angular CLI的版本:
Node v6.4.0 NPM 3.10.3 angular-cli: 1.0.0-beta.11-webpack.8
這是我的angular-cli.json:
`{
"project": {
"version": "1.0.0-beta.11-webpack.8",
"name": "learnloop"
},
"apps": [
{
"main": "src/main.ts",
"tsconfig": "src/tsconfig.json",
"mobile": false,
"prefix": "app",
"root": "src",
"styles": [
"styles.scss"
]
}
],
"addons": [],
"packages": [],
"e2e": {
"protractor": {
"config": "config/protractor.conf.js"
}
},
"test": {
"karma": {
"config": "config/karma.conf.js"
}
},
"defaults": {
"styleExt": "scss",
"prefixInterfaces": false,
"lazyRoutePrefix": "+"
}
}`
我為huuuuge文本牆道歉,但我想確保你們都擁有了所需的一切,可以為此提供幫助。 我在這做錯了什么?
我設法讓這個工作。 嘗試將其粘貼到angular-cli.json中(相應地編輯它):
{
"project": {
"version": "1.0.0-beta.11-webpack.8",
"name": "<name-of-app>"
},
"apps": [
{
"root": "src",
"outDir": "dist",
"assets": "assets",
"index": "index.html",
"main": "main.ts",
"test": "test.ts",
"tsconfig": "tsconfig.json",
"prefix": "app",
"mobile": false,
"styles": [
"styles.scss"
],
"scripts": [],
"environments": {
"source": "environments/environment.ts",
"prod": "environments/environment.prod.ts",
"dev": "environments/environment.dev.ts"
}
}
],
"addons": [],
"packages": [],
"e2e": {
"protractor": {
"config": "./protractor.conf.js"
}
},
"test": {
"karma": {
"config": "./karma.conf.js"
}
},
"defaults": {
"styleExt": "scss",
"prefixInterfaces": false,
"lazyRoutePrefix": "+"
}
}
然后在根項目目錄中鍵入ng init
。 它會要求你替換一堆不同的文件或保留它們。 文件之間存在一些細微差別,特別是在app.module.ts
內部,因此請確保先提交,因為文件結構和文件內部的代碼會有一些變化。
嘗試將nodejs版本更新為最新版本(目前為v.7.2)。 它對我有用,因為服務失敗了
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.