我在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.
如何使它工作?
这根本不适合我. 我可以在 Angular 2 的Github回购中看到该功能据说是在12月初添加的,但是它根本无法正常运行.
文档尚未更新以反映它,并且它仍然缺少我能说的正确测试.
更新:
这是正在发生的事情的一部分.这需要使用CommonJS特定功能,因此您必须在tsconfig.json文件中使用该模块系统.
最重要的是,使用SystemJS时会出现问题,因为它将所有内容捆绑到根目录中.
基本上,能够使用这个新功能似乎有很多限制.
您可以尝试以下步骤:
步骤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' })
希望这有帮助.