2016-11-05 74 views
2

我正在過渡一個站點以使用Webpack,並且我需要一些配置幫助。我有幾頁寫在Pug/Jade,很大很少被訪問(想想服務條款或隱私政策)。我的.jade文件中的大部分都是Angular模板,因此它們在其組件中內聯,並且運行良好。但是,這幾個文件我希望Webpack能夠編譯成與應用程序的其餘部分分開提供的靜態HTML文件。不過,我仍然喜歡他們的文件名包括散列。靜態帕格/ HTML頁面的Webpack配置

的基本想法,我想出了是這樣的:

routes.ts

$routeProvider.when('/_tos', templateUrl: require('./resources/terms-of-service.jade')) 

在裝載機webpack.config.js的名單:

{ 
    test: /resources.*\.jade$/, 
    loaders: ['file?name=[name].[hash].html', 'pug-html'] 
} 

我試着用各種組合pug-loader,pug-html-loader(有和沒有?exports=false選項),html-loader,extract-loaderextract-text-webpack-pluginfile-loader,但是我嘗試的所有內容在生成的.html文件中都有額外的工件。例如。它可能以module.exports =開頭,或者它可能會將\"無處不在應該只有"的文件中。

任何人都可以幫忙嗎?

回答

1

嘎!我終於弄明白了。我從根本上誤解了裝載機工作清單的方式。我認爲只使用匹配的數組中的第一個加載程序,但不使用匹配的所有加載程序。 (雖然我仍然對細節模糊不清)下面是一個工作配置,其中resources是我的「資源」目錄的路徑:

loaders: [ 
    { 
    test: /\.jade$/, 
    include: [resources], 
    loaders: ['file?name=[name].[hash].html', 'pug-html?exports=false'] 
    }, 
    { 
    test: /\.jade$/, 
    exclude: [resources], 
    loaders: ['pug-html?doctype=html'] 
    } 
]