代码之家  ›  专栏  ›  技术社区  ›  A. Gladkiy

找不到Angular 5 html模板文件

  •  1
  • A. Gladkiy  · 技术社区  · 7 年前

    文件结构如下: app 文件夹包含 main.ts, app.compoment.ts, app.component.html, app.module.ts, app-routing.module.ts

    systemjs.config.js :

    paths: {
        'npm:': "libs/"
    },
    map: {
        app: "app",
        ...
    },
    packages: {
        app: {
            main: "./main.js",
            defaultExtension: "js"
        },
        ...
    }
    

    当我把路径作为相对路径时:

    templateUrl: './app.component.html'

    {domain}/app.component.html 找不到。 {domain} = http://localhost:1234

    但如果我把绝对路径:

    templateUrl: './app/app.component.html'

    我该怎么做才能让相对路径正常工作?

    0 回复  |  直到 7 年前
        1
  •  1
  •   Jeyam Prakash    7 年前

    向SystemJS添加了SystemJS插件(SystemJS angular loader.js) 在templateUrl和styleurl中为您提供到“绝对路径”的路径。

    我强烈建议您只编写与组件相关的路径。你 应该是你。

    meta: {
      './*.js': {
        loader: 'systemjs-angular-loader.js'
      }
    }
    

    systemjs.config

    角cli

    另见

    Relative template and style urls using system js without moduleid in angular

    上一版本

    返回应用程序根目录的完整路径 . 它是 相对于应用程序根绝对 .

    可能是:

    @Component({
       templateUrl: 'app/app.template.html' // or src
    })
    export class AppComponent {}
    

    @Component({
      moduleId: module.id
      templateUrl: './app.template.html'
    })
    export class AppComponent {}
    

    如果您使用SystemJS,那么它应该是moduleName变量,而不是module.id变量:

    @Component({
      moduleId: __moduleName,
      templateUrl: './app.template.html'
    })
    export class AppComponent {}
    

    Component relative paths in angular