相对路径是不是在Angular2组分工作(Relative path is not working

2019-09-27 07:02发布

标志不是在角2中的组分装入(导航栏)

导航栏组件文件:

import { Component, OnInit } from '@angular/core';
@Component({
  moduleId: module.id,
  selector: 'app-navbar',
  templateUrl: './navbar.component.html',
  styleUrls: ['./navbar.component.css']
})
export class NavbarComponent implements OnInit {

  private website:string
  private websiteUrl:string
  constructor() {  
    this.website = 'Rakesh'
    this.websiteUrl = 'http://google.com'
   }
  ngOnInit() {
  }

}

我加入一些HTML代码模板文件和标识不加载

我的标志代码

<div class="navbar-header">
  <a class="navbar-brand" href="{{websiteUrl}}">
  *<img src="./logo/rakesh.png" class="img-responsive" alt="Image">*
  </a>
</div>

在控制台输出moduleId should be a string in "NavbarComponent"

我的标志路径:

navabar.component.ts
logo/
    rakesh.png

Answer 1:

问题可能来自moduleId should be a string in "NavbarComponent"

由于角CLI现在使用的WebPack,module.id中的WebPack是一个数字,而角需要一个字符串。 你应该做的是去除moduleId的元数据。

@Component({
  selector: 'app-navbar',
  templateUrl: './navbar.component.html',
  styleUrls: ['./navbar.component.css']
})


Answer 2:

删除module.id@Component 。 它并不需要了,你可以找到它在@NgModule因为角2.0。

这是的WebPack用户如何使用组件的相对路径 ,而不是module.id

的WebPack:加载模板和样式

的WebPack开发商必须替代moduleId

他们可以通过添加在运行时加载模板和样式./在模板和年初styles / styleUrls引用相关组件的 URL属性。

 import { Component } from '@angular/core'; import '../../public/css/styles.css'; @Component({ selector: 'my-app', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent { } 

的WebPack会做require在幕后加载模板和样式。 阅读更多这里 。


这个回答可以帮助你,如果你有在打字稿编译错误。

如果你得到打字稿错误,只是声明变量在文件中。

 declare var module: { id: string; } @Component({ moduleId: module.id, ... }) 


文章来源: Relative path is not working in Angular2 component