2016-12-02 94 views
0

下默認Web站點的應用我有我的打包應用程序Angular2與Angular2的WebPack部署到IIS

NPM運行編譯:督促

哪個編譯成dist文件夾。然後,我將這個dist文件夾的內容放入了IIS服務器的默認網站下的Application文件夾中。

然後我瀏覽到http://[server]/[app],並且好像沒有什麼改變,但對瀏覽器開發工具網絡選項卡的視圖顯示的index.html加載,並且它如下使以捆綁的js文件的調用:

http://[server]/[bundled js文件]

的問題是,這些要求應該是:

http://[server]/[app]/[bundled個js文件]

我該如何解決這個問題?

+1

in index.html你如何導入你的客戶端文件夾index.js文件...嘗試將其從絕對路徑更改爲相對路徑 –

+0

所以我查看了index.html文件,並且所有資產都被引用與href:/ [資產]或src:/ [資產]。然後,我編輯了所有這些鏈接爲/ [app]/[asset],並且該應用程序現在可以工作。但是,我想可能有一種方法來在webpack構建過程中配置它? –

回答

2

您有IIS兩種選擇。首先,將應用程序安裝到IIS網站的根目錄下(不應用程序directoy /虛擬目錄)。

如果你願意的話在上面的例子中,我使用IIS中的應用程序或虛擬目錄,那麼你需要在你裏面webpack.dev.js

output: { 
path: helpers.root('dist'), 
publicPath: '/SWP2/', 
filename: '[name].[hash].js', 
chunkFilename: '[id].[hash].chunk.js' 

}設置publicpath,

說的WebPack應考慮其產生的引用住在/ SWP2 /文件夾,以便中的index.html將增加像

<script type="text/javascript" src="/SWP2/vendor.628ff41b723fcc2315b1.js"></script><script type="text/javascript" src="/SWP2/app.628ff41b723fcc2315b1.js"></script> 

和引用時,URL查找日EM它將使用http://localhost/SWP2/vendor.etcetc

保持dev的配置爲標準,否則你的代碼不會火,除了在IIS時。

+0

你不是指webpack.prod.js嗎? –

+0

此外,任何想法如何我可以申請類似的方法來嵌入的CSS,像這樣@字體面{ FONT-FAMILY:「打開三世」; font-style:normal; font-weight:300; SRC:本地( '開放三世光'),局部( 'OpenSans-光'), URL(資產/字體/谷歌/開放的SAN-light.woff)格式( 'WOFF'); } –

+0

我的問題是,在部署的應用程序,在上面的CSS的URL是無效的。它也需要是url([iis app]/assets ...)而不是url(assets/...) –