Angular 4 templateUrl 加载模板失败?

Angular版本:4.1.1,尝试通过templateUrl加载外部模板时报错,记得以前是不会出这种错误的,是坑吗?

报错信息为:

clipboard.png

webpack配置的路径看着很正常,运行打包也没有报错。

clipboard.png

为了排查错误,Angular的代码都按照最简单的来:

// app.module.ts
import { NgModule } from '@angular/core';
import { BrowserModule } from "@angular/platform-browser";
import { AppComponent } from "./app.component";

@NgModule({
    declarations: [AppComponent],
    imports: [BrowserModule],
    bootstrap: [AppComponent]
})
export class AppModule {
}
// app.component.ts

import {Component} from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html'
})
export class AppComponent {
}

关于templateUrl这个路径,app.component.html/app.component.html ./app.component.html src/app/app.component.html /src/app/app.component.html几种都试过了,都是报类似的错误.

请问这是什么坑?

补上项目路径:

clipboard.png

阅读 3.3k
3 个回答

文件目录结构是什么样子的?
你这个app.component.html到底放在哪里?
-----修改--------------------
使用一下代码试试

@Component({
  selector: 'app-root',
  templateUrl: 'app.component.html'
})

我项目中这样写是OK

clipboard.png

clipboard.png

新手上路,请多包涵

我觉得可能是app.component.html的问题,你换成app.template.html试试。angular会忽略后缀名,你再NgModule里面导入的时候,它不知道该导哪一个

新手上路,请多包涵

你可以试试 app.module.ts 都换成单引号。这样的格式看起来比较舒服

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题