2017-09-26 22 views
1

我已经使用angular-cli创建了一个项目,并使用ng g component <componentname>命令创建了一些组件。在做了一些管理工作并为进一步开发准备代码后,突然在运行相同命令时得到了Error: Cannot read property '0' of nullng g service services/<servicename>的作品没有任何问题。使用Angular CLI生成组件时出错:无法读取属性'0'null

我.angular-cli.json如下:

{ 
    "$schema": "./node_modules/@angular/cli/lib/config/schema.json", 
    "project": { 
    "name": "dd-frontend" 
    }, 
    "apps": [ 
    { 
     "root": "src", 
     "outDir": "dist", 
     "assets": [ 
     "assets", 
     "favicon.ico" 
     ], 
     "index": "index.html", 
     "main": "main.ts", 
     "polyfills": "polyfills.ts", 
     "test": "test.ts", 
     "tsconfig": "tsconfig.app.json", 
     "testTsconfig": "tsconfig.spec.json", 
     "prefix": "app", 
     "styles": [ 
     "styles.css", 
     "../node_modules/bootstrap/dist/css/bootstrap.css" 
     ], 
     "scripts": [ 
     "../node_modules/jquery/dist/jquery.js", 
     "../node_modules/tether/dist/js/tether.js", 
     "../node_modules/bootstrap/dist/js/bootstrap.js" 
     ], 
     "environmentSource": "environments/environment.ts", 
     "environments": { 
     "dev": "environments/environment.ts", 
     "prod": "environments/environment.prod.ts" 
     } 
    } 
    ], 
    "e2e": { 
    "protractor": { 
     "config": "./protractor.conf.js" 
    } 
    }, 
    "lint": [ 
    { 
     "project": "src/tsconfig.app.json", 
     "exclude": "**/node_modules/**" 
    }, 
    { 
     "project": "src/tsconfig.spec.json", 
     "exclude": "**/node_modules/**" 
    }, 
    { 
     "project": "e2e/tsconfig.e2e.json", 
     "exclude": "**/node_modules/**" 
    } 
    ], 
    "test": { 
    "karma": { 
     "config": "./karma.conf.js" 
    } 
    }, 
    "defaults": { 
    "styleExt": "css", 
    "component": {} 
    } 
} 

更新:我产生一个新的应用与ng new testApp和复制的add.module.ts到失败的项目。然后我重新执行失败的命令,并且它工作。

这里是失败的app.module.ts:

//core imports 
import { BrowserModule } from '@angular/platform-browser'; 
import { NgModule } from '@angular/core'; 
import { RouterModule, Routes } from '@angular/router'; 
import { FormsModule } from '@angular/forms'; 
import { FlashMessagesModule } from 'angular2-flash-messages'; 

//components 
import { AppComponent } from './app.component'; 
import { AboutComponent } from './components/about/about.component'; 
import { LoginComponent } from './components/login/login.component'; 
import { DashboardComponent } from './components/dashboard/dashboard.component'; 

//Services 
import { AuthService } from './services/auth.service'; 
//import { AuthGuard } from './guards/auth.guard'; 

const appRoutes: Routes = [ 
{ path: '', component: DashboardComponent }, 
{ path: 'login', component: LoginComponent }, 
{ path: 'about', component: AboutComponent } 
]; 

@NgModule({ 
declarations: [ 
AppComponent, 
AboutComponent, 
LoginComponent, 
DashboardComponent 
], 
imports: [ 
BrowserModule, 
FormsModule, 
RouterModule.forRoot(appRoutes), 
FlashMessagesModule 
], 
providers: [ 
AuthService/*, 
AuthGuard*/ 
], 
bootstrap: [AppComponent] 
}) 
export class AppModule { } 
+0

是最初使用angular-cli创建的应用程序吗? – amal

+0

是的。 'ng new projectname' – JoSSte

回答

0

很大程度上取决于你做了什么 '管理' 的任务。您是完全移动应用程序还是移动应用程序中的文件或子文件夹?请参阅this回答(如果没有帮助,还有其他建议)。希望能帮助到你。

+0

我添加了一些样式表和脚本(引导程序,依赖项),为git设置了上传到bitbucket的来源,在其他组件上添加了一些.ts文件中的一些东西 – JoSSte

+0

我明白了。你有没有看看链接,看看是否有铃声响起?你在窗户上吗? – amal

+0

我没有搬这个项目。我尝试了另一个以相同方式创建的项目,并且尝试过移动它,但没有改变过的体验。我还将angular-cli.json与工作项目进行了比较.... – JoSSte

相关问题