我是打字稿和Angular2的新手,但......
我的设置如下:
而不是站点根目录下的app文件夹我有一个src \ app文件夹然后在我的gulp任务中我编译我的打字稿这样:
gulp.task('copy:libs', ['clean'], function () {
return gulp.src([
'node_modules/es6-shim/es6-shim.min.js',
'node_modules/systemjs/dist/system-polyfills.js',
'node_modules/angular2/es6/dev/src/testing/shims_for_IE.js',
'node_modules/angular2/bundles/angular2-polyfills.js',
'node_modules/systemjs/dist/system.src.js',
'node_modules/rxjs/bundles/Rx.js',
'node_modules/angular2/bundles/angular2.dev.js'
])
.pipe(gulp.dest(destination + '/js'));
});
目的地:
const destination = './UI/assets';
到目前为止很好,但现在是棘手的部分:
在我的目的地+ / app文件夹中,我获得了已编译的javascript文件,但在我的index.html文件中使用它们时:
<script>
System.config({
paths: {
'app/*': '/UI/assets/app/*'
},
packages: {
app: {
format: 'register',
defaultExtension: 'js'
}
}
});
System.import('app/main.js')
.then(null, console.error.bind(console));
</script>
但是系统src在我的app.component上的main.js里面获得了一个404,它在typescript中就像这样注册了:
从&#39; ./ app.component&#39;;
导入{AppComponent}如果我在已编译的app.component.js文件中更改为./app.component.js,这是有效的,但我如何以正确的方式解决这个问题??
我的tsconfig直接从angular 2开始复制。
我的systemjs模块应如何配置才能工作?现在它找不到任何js文件..
答案 0 :(得分:0)
我修好了。它主要是我失踪的baseURL:
<script>
System.config({
baseURL : '/node_modules'
});
System.defaultJSExtensions = true;
System.import('app/main.js')
.then(null, console.error.bind(console));
</script>