在搜索时我找到了一个名为moduleId
的内容来设置模板和CSS文件的相对路径,但我不知道如何在angular2的组件中使用moduleId
?< / p>
实际上,问题在于我的文件夹结构。我正在从dist
文件夹加载我的所有.js文件,而我的视图(.html文件)在src
文件夹中。因此,当我使用moduleId: module.id
时,这个角度从dist
文件夹而不是src文件夹中获取路径。
所以这里有人帮我告诉我如何为我的组件angualr2设置自定义moduleId?
我的文件夹结构如下。
App
/\
/ \
(.js + .map files)Dist Src(.ts + .html + .css files)
实际编码(工作) -
@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/
答案 0 :(得分:6)
通过在运行时更改导入文件的路径(从src
到dist
)解决了我的问题,如下所示: -
moduleId: module.id.replace("/dist/", "/src/")
通过这样做,您可以更改模块ID的路径目录。
感谢@Nicolai的awesome comment
PS: - 发布回答可能有助于某人
答案 1 :(得分:1)
我还有一些关于TemplateUrl路径有效和无效的问题。我在测试中发现以下情况属实:
templateUrl:'文件夹名称/文件名'无效
templateUrl:'/文件夹名称/文件名'无效
templateUrl:'。/ folder name / file name'DID work
所以你可以尝试一下。