templateUrl和styleUrls的Angular2相对路径?

时间:2016-04-06 12:59:19

标签: view angular relative-path

在搜索时我找到了一个名为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)
  • 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/

2 个答案:

答案 0 :(得分:6)

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

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

通过这样做,您可以更改模块ID的路径目录。

感谢@Nicolai的awesome comment

PS: - 发布回答可能有助于某人

答案 1 :(得分:1)

我还有一些关于TemplateUrl路径有效和无效的问题。我在测试中发现以下情况属实:

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

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

templateUrl:'。/ folder name / file name'DID work

所以你可以尝试一下。