当前位置:  开发笔记 > 前端 > 正文

使用Angular2组件中的templateUrl与SystemJS的相对路径

如何解决《使用Angular2组件中的templateUrl与SystemJS的相对路径》经验,为你挑选了2个好方法。

我在angular2组件中定义templateUrl时尝试使用相对路径,如下所述:http://schwarty.com/2015/12/22/angular2-relative-paths-for-templateurl-and-styleurls/

@Component({
    selector: 'login-app',
    moduleId: module.id,
    templateUrl: './app.html'
})

虽然我一直在:

错误:未定义模块

我在ts编译设置上使用-m commonjs.

如何使它工作?



1> Michael Oryl..:

这根本不适合我. 我可以在 Angular 2 的Github回购中看到该功能据说是在12月初添加的,但是它根本无法正常运行.

文档尚未更新以反映它,并且它仍然缺少我能说的正确测试.

更新:

这是正在发生的事情的一部分.这需要使用CommonJS特定功能,因此您必须在tsconfig.json文件中使用该模块系统.

最重要的是,使用SystemJS时会出现问题,因为它将所有内容捆绑到根目录中.

基本上,能够使用这个新功能似乎有很多限制.



2> Ha Hoang..:

您可以尝试以下步骤:

步骤1.声明'commonjs'格式模块对象,该对象标识当前模块的"模块ID".

"compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    ...
}

第2步:将typings.d.ts添加到wwwroot文件夹中以标识"模块ID".

/// 
 declare var module: { id: string };

步骤3:将组件的moduleId元数据属性设置module.id为模块相对URL(请注意约定).

@Component({
    selector: 'login-app',
    moduleId: module.id,
    templateUrl: 'app.component.html'
})

希望这有帮助.

推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有