templateUrl 和 styleUrls 的 Angular2 相对路径?

Angular2 relative paths for templateUrl and styleUrls?

在搜索时我发现了一个名为 moduleId 的东西来设置模板和 CSS 文件的相对路径,但我不知道如何在我们的组件中使用 moduleId angular2?

实际上,问题出在我的文件夹 structure.I 我正在从 dist 文件夹加载我的所有 .js 文件,而我的视图(.html 文件)在 src 文件夹。所以当我像这样使用 moduleId: module.id 时 angular 从 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/

我也有一些关于什么对 TemplateUrl 路径有效和无效的问题。我在测试中发现以下内容是正确的:

templateUrl:'folder name / file name' 无效

templateUrl: '/文件夹名/文件名' 无效

templateUrl: './文件夹名/文件名' DID 工作

所以你可以尝试一下。

通过在 运行 时间更改导入文件的路径(从 srcdist)解决了我的问题:-

moduleId: module.id.replace("/dist/", "/src/")

这样你就可以更改模块ID的路径目录了。

感谢@Nicolai awesome comment

PS:- 发布为答案可能会对某人有所帮助