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')
这样做,文件名是难看了点,不过起码文件层级是随你所愿了
