【发布时间】:2016-05-06 10:06:15
【问题描述】:
我按照 angular.io 的 5 分钟快速入门中的说明进行操作,一切正常。我使用时不必声明.js
import {Component} from 'angular2/core';
然后我开始使用 templateUrl 来加载其他组件
import {NavMenuComponent} from '../nav/navMenu';
@Component ({
selector: 'my-app',
templateUrl: 'main.html',
directives: [NavMenuComponent]
})
export class AppComponent {}
当我运行代码时,我收到一条错误消息,提示找不到 localhost:300/src/nav/navMenu
但是如果我在末尾添加一个 .js
import {NavMenuComponent} from '../nav/navMenu.js';
它工作正常。我已经将 index.html 设置为..
<script>
System.config({
packages: {
app: {
format: 'register',
defaultExtension: 'js'
}
}
});
</script>
难道不应该这样我就不必再在导入时使用 .js 扩展名了吗?提前致谢。
【问题讨论】:
-
要么在系统配置中更改您的包,要么将
src文件夹更改为app -
@Langley,我不关注。 angular.io 没有系统配置文件。请您更具体地说明一下修复方法。
-
不是
config.js文件,您在代码中拥有的System.config({ packages: { app: {部分。 -
您的
System.config指定在app包下的内容上使用默认扩展名js,但就我所见,您的组件在src下而不是app下:localhost:300/src/nav/navMenu这有意义吗? -
我想是的。所以我必须将 app 更改为 src 或创建一个带有 defaultExtension 的 src?对吗?
标签: javascript angularjs angular angular2-template angular2-directives