【发布时间】:2016-10-28 17:33:42
【问题描述】:
我用 angular-cli 创建了一个 angular2 项目(版本 1.0.0-beta.8,角度版本是 2.0.0-rc.3)
运行 ng new 或 ng init 会创建此目录结构:
create .editorconfig
create README.md
create src\app\app.component.css
create src\app\app.component.html
create src\app\app.component.spec.ts
create src\app\app.component.ts
create src\app\environment.ts
create src\app\index.ts
create src\app\shared\index.ts
create src\favicon.ico
create src\index.html
create src\main.ts
create src\system-config.ts
create src\tsconfig.json
create src\typings.d.ts
create angular-cli-build.js
create angular-cli.json
create config\environment.dev.ts
create config\environment.js
create config\environment.prod.ts
create config\karma-test-shim.js
create config\karma.conf.js
create config\protractor.conf.js
create e2e\app.e2e-spec.ts
create e2e\app.po.ts
create e2e\tsconfig.json
create e2e\typings.d.ts
create .gitignore
create package.json
create public\.npmignore
create tslint.json
create typings.json
当我生成一个组件(ng g component my-component)时,它会在 src\app 文件夹中添加一个文件夹 my-component,其中包含组件文件(ts、css、html 等...)
当我在app(主要)组件中导入my-component组件并将其放入html中时:
import { Component } from '@angular/core';
import { MyComponentComponent } from './my-component';
@Component({
moduleId: module.id,
selector: 'app-root',
templateUrl: 'app.component.html',
styleUrls: ['app.component.css'],
directives: [MyComponentComponent]
})
export class AppComponent {
title = 'app works!';
}
app.component.html:
<h1>
{{title}}
</h1>
<app-my-component></app-my-component>
一切正常。
如果我创建一个文件夹(在这种情况下名为“项目”)并将 my-component 文件夹移动到那里(src\app\project\my-component)并从那里导入组件:
import { Component } from '@angular/core';
import { MyComponentComponent } from './project/my-component'; //chnaged "./my-component" to "./project/my-component"
@Component({
moduleId: module.id,
selector: 'app-root',
templateUrl: 'app.component.html',
styleUrls: ['app.component.css'],
directives: [MyComponentComponent]
})
export class AppComponent {
title = 'app works!';
}
应用程序已编译,但在浏览器中我得到:
zone.js:101 GET http://localhost:4200/app/project/my-component.js 404 (Not Found)
是错误还是我遗漏了什么?
编辑:
无论文件夹如何,所有组件都已正确编译。
奇怪的是应用程序要加载my-component.js,而生成的文件是my-component.component.js(这与其他名称相同。名称中的“组件”不是问题)
当组件文件夹位于 app 文件夹中时,应用程序会正确加载 my-component.component.js
在我看来是个错误。
【问题讨论】:
-
您的 my-component.ts 文件似乎有问题。很可能是模板文件路径。
标签: javascript angular