2016-01-06 113 views
1

如果有人有這樣的問題,請幫忙。

我使用Angular + Webpack並試圖要求我的JS的HTML文件與html-loader

起初我還需要html文件到我的directive

var templateUrl = require('./test.html'); 

然後我做webpack指揮的WebPack說一切都很好,並捆綁所有的文件沒有任何問題。

然後,我有一個錯誤(這是在我的控制檯):

[$compile:tpload] Failed to load template: <div class="test"> 
<p>This is my TEST</p> 
</div> (HTTP status: 404 Not Found) 

根據我的理解是看到我的HTML,但在此之前它是說,不能讓它(模板),這是爲什麼?

請求網絡

GET http://127.0.0.1:7773/portal/%3Cdiv%20class=%22test%22..... 

例如成功需要:

Request URL:http://127.0.0.1:7773/portal/dev/bundle.js 

據我瞭解的WebPack在一些別的地方尋找它。如何解決它?

對於信息我的完整路徑:

/home/darthjs/Documents/****/src/public/portal/app/components/navtop/test.html 

回答

8

使用template: require('./test.html')而不是templateUrl。 在你的指令:

{ // directive definition object 
    restrict: 'A', 
    template: require('./file.html') 
} 
+0

歐我的天!認真!非常感謝! – DarthJS

+0

我花了太長時間才發現這一點。謝謝 – safhac

0

您正在閱讀文件的內容,並使用它作爲URL。您應該使用ngtemplate-loader(或任何其他類似的加載程序)來獲得您想要的內容 - 它會將文件內容放入Angular的模板緩存中。

+0

感謝推薦,我不知道爲什麼,但我無法安裝HTML模板非。我剛剛嘗試過template-html-loader和ngtemplate-loader。 – DarthJS