Angular2中的SystemJS defaultExtension不起作用

时间:2016-08-09 11:18:52

标签: javascript angular systemjs

我的新Angular2应用程序出了问题。我在index.html中调用了我的主boot文件:

SystemJS.config({
    packages: {
        app: {
            format: 'register',
            defaultExtension: 'js'
        }
    }
});

SystemJS.import('src/app/prod/boot').then(null, console.error.bind(console));

在我的控制台中,我看到一些错误:

enter image description here

如果我指定扩展明确:

SystemJS.import('src/app/prod/boot.js').then(null, console.error.bind(console));

一切都会好的,但我的组件内部存在同样的问题导入另一个组件而没有指定扩展名:

import {Component} from 'angular2/core';
import {ROUTER_DIRECTIVES, RouteConfig, RouteParams} from 'angular2/router';
import {AppComponent} from './app.component';

enter image description here

1 个答案:

答案 0 :(得分:3)

这是因为你的包不是app而是src/app。您可以将index.html移到src文件夹中,或将SystemJS配置的包定义更改为:

SystemJS.config({
    packages: {
        'src/app': {
            format: 'register',
            defaultExtension: 'js'
        }
    }
});