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这样的路径下

阅读 3.8k
1 个回答

本来name带路径这个小技巧就是为了实现模块化,让js和css可以归属到同一模块下,我建议你还是改改你打包文件的结构吧

或者说,强行取消路径:

new ExtractTextPlugin("css/[contenthash:8].[name].css")

这样做,文件名是难看了点,不过起码文件层级是随你所愿了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题