角度2分量相对路径

时间:2016-10-21 02:44:50

标签: angular systemjs

我的systemjs.config.js文件映射了" app"到" dist"夹。因此,如果我尝试相对引用我的组件html文件,我会收到以下错误:

无法加载https://localhost:44337/dist/appComponent.html

我是否必须使用gulp将html文件复制到" dist"文件夹也是?我还有其他选择吗?绝对路径非常好。

我的system.config.js文件:

(function (global) {
System.config({
    paths: {
        // paths serve as alias
        'npm:': 'node_modules/'
    },
    // map tells the System loader where to look for things
    map: {
        // our app is within the app folder
        app: 'dist',
        // angular bundles
        '@angular/core': 'npm:@angular/core/bundles/core.umd.js',

App.component文件:

import {Component, OnInit} from "@angular/core";
import {Router} from "@angular/router";

@Component({
    moduleId: module.id,
    selector: "my-app",
    templateUrl: "appComponent.html"
})

提前致谢!

1 个答案:

答案 0 :(得分:2)

如果您在templateUrl中使用外部模板和相对路径,那么您应该复制html文件并将它们放在dist文件夹中。

.html内的所有dev/个文件移至dist/文件夹的任务

gulp.task('move-html',function(){
    return gulp.src('dev/**/*.html')
               .pipe(gulp.dest('dist/'));
});

您还有其他选项,例如使用内联模板(在组件中编写模板),或者 - 甚至更好 - 使用gulp-inline-ng2-template plugin作为构建任务来导入和内联外部模板。这样,获取模板不需要额外的http请求。