2016-10-18 218 views
0

我現在正在使用angular-2.0.3的最新版本。 如何處理不同的路徑。例如,html模板位於相同的文件夾中,nut css文件位於其他文件夾中。相對路徑角度2。模板和css的不同路徑

@Component({  
selector: "order", 
templateUrl: "./app/order/order.template.html", 
styleUrls: ["./app/assets/css/order.css"] 
}) 

如果我將鍵入module.id,那麼將被發現只是HTML文件。 有人遇到過某種問題嗎?

回答

0

那麼它是可能的,但對我來說最好的做法是把你的組件CSS放在組件更加組織。然而,

只要打開你的tsconfig.json,然後改變

"moduleResolution": "node", 

"moduleResolution": "classic", 

那麼你可以有

樣本結構

app 
----components 
--------order 
--------------order.component.ts 
--------------order.component.html 
assets 
----order.css 

@Component({ 
    selector: 'selector', 
    templateUrl: './order.component.html', 
    styleUrls:['../../../assets/order.css'] 
}) 

是TE與Angular-cli和webpack版本配合使用。

0

此公告有助於:http://blog.thoughtram.io/angular/2016/06/08/component-relative-paths-in-angular-2.html

我使用SystemJS,所以在我tsconfig.json,我設置"module": "system"

我還在我的@Component中加入了moduleId: __moduleName

然後我可以使用模板和樣式的相對路徑。例如:

@Component({ selector: 'datepicker-popup', moduleId: __moduleName, directives: [], providers: [], templateUrl: './datepicker.comp.html', styleUrls: ['./datepicker.css'] })

+0

以爲你正在使用舊版本的棱角分明,但在這種情況下沒有區別。問題是位於各種文件夾中的css和html文件。當你寫moduleId的角度將看文件夾中的CSS和HTML文件。這就是爲什麼你的解決方案不能工作。 – unsafePtr

+0

我想你是對的。我正在使用Angular 2 Beta而不是RC –

0
@Component({ 
selector:'my-app-product', 
moduleId:module.id, 
templateUrl:'product.component.html', 
styleUrls: ['product.component.css'] 

,並把你的product.component.css文件的文件夾內的HTML文件