node.js - webpack entry中的name是帶路徑的,結合ExtractTextPlugin使用時,如何得到不帶路徑的name
問題描述
entry如下:
entry: { // 名字可以含路徑,以用來將打包后的文件放入不同的路徑 ’js/index’: [path.resolve(src, ’index.js’) // Your app?s entry point ], ’js/detail’: [path.resolve(src, ’detail/detail.jsx’) // Your app?s entry point ], ’lib/eg’: [path.resolve(src, ’eg/lib.js’) // Your app?s entry point ], },
而在webpack的plugins中,使用了ExtractTextPlugin,配置是:
new ExtractTextPlugin('css/[name].css', {// allChunks: true })
最終打包出來的css文件,會被放到css/js/detail.css與,css/js/index.css,多了一級’js/’,我想知道如何設置能讓css文件統一放到css/*.css這樣的路徑下
問題解答
回答1:本來name帶路徑這個小技巧就是為了實現模塊化,讓js和css可以歸屬到同一模塊下,我建議你還是改改你打包文件的結構吧
或者說,強行取消路徑:
new ExtractTextPlugin('css/[contenthash:8].[name].css')
這樣做,文件名是難看了點,不過起碼文件層級是隨你所愿了
