在搜索时我找到了一个名为moduleId的东西来设置模板和CSS文件的相对路径,但我不知道如何在angular2的组件中使用moduleId?
实际上,问题出在我的文件夹结构中.我从dist文件夹加载我的所有.js文件,而我的视图(.html文件)在src文件夹中.所以当我使用moduleId:module.id时,这个angular从dist文件夹中获取路径,而不是src文件夹.
所以这里有人帮我告诉我如何为我的组件angualr2设置自定义moduleId?
我的文件夹结构是这样的.
App /\ / \ (.js + .map files)Dist Src(.ts + .html + .css files)
> Folder Dist包含所有.map和.js文件
>文件夹src包含所有.ts,.HTML和.css文件.
实际编码(工作) –
@Component({ selector: 'class-timing',templateUrl: 'src/components/TiMetable/class-timing/class-timing.html',styleUrls: ['src/app.css'] })
修改编码(由于路径不正确而无法工作) –
@Component({ selector: 'class-timing',templateUrl: 'class-timing.html',moduleId: module.id,styleUrls: ['src/app.css'] })
参考本教程
http://schwarty.com/2015/12/22/angular2-relative-paths-for-templateurl-and-styleurls/
解决方法
通过在运行时更改导入文件的路径(从src到dist)解决了我的问题,如下所示: –
moduleId: module.id.replace("/dist/","/src/")
通过这样做,您可以更改模块ID的路径目录.
感谢@Nicolai为这个awesome comment
PS: – 发布答案可能对某人有所帮助