DllPlugin怎么忽略打包指定文件夹

1.项目中需要频繁的build ,插件比较多 构建很慢 使用dllplugin将不需要重复打包的第三方库分离出来

const path = require('path');
const webpack = require('webpack');
module.exports = {
  entry: {
    vendor: [
    'vue/dist/vue.esm.js',
    'vue-router',
    'babel-polyfill'
    ]
  },
  output: {
    path: path.join(__dirname, '../static/js'), 
    filename: '[name].dll.js',
    library: '[name]_library' 
  },
  plugins: [
    new webpack.DllPlugin({
      path: path.join(__dirname, '.', '[name]-manifest.json'),
      name: '[name]_library'
    }),  
    new webpack.optimize.UglifyJsPlugin({
      compress: {
        warnings: false,
        drop_console:true,
        drop_debugger:true
      },
      output:{
        comments: false,
      },
      sourceMap: true
    })
  ]
};

如图是node_modules下的几个第三方库

问题一:node_modules下的那么多第三方库 都需要一个个列举在这边吗?
问题二:如果想忽略指定文件夹下的文件怎么办?

阅读 3k
2 个回答

dll的作用是预编译,提前把不需要频繁改动的包,或者静态文件打包为一个js文件和映射json;好处1、打包速度快;2、方便缓存 ;可以参考该项目https://github.com/NewPrototy...

问题一:node_modules下的那么多第三方库 都需要一个个列举在这边吗?
只放dependencies的依赖包,比如你用vue开发,那vue,vue-router,axios这些vue全家桶都得用吧。那用DllPlugin动态链接,缓存起来。

问题二:如果想忽略指定文件夹下的文件怎么办?
你自己写的js文件,并不适合创建动态链接库。

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