zoukankan      html  css  js  c++  java
  • webpack 之(22) 优化配置 之 dll

    这里与webpack(21)的内容差不多 但是思路不一样

    webpack(21) 是cdn优化,是不打包node_module,然后引入cdn访问地址

    这里是先将node_module先打包一次,后面不需要再打包,直接引用打包好的文件就行,这里的直接引用,还需要以下配置,否则就会出现用的不是打包的jquery,那么生成的文件会非常大

    在平时打包过程中,node_module会被打包成一个chunk 文件,但是这样会导致文件太大了

    所以:dll技术 会将 这些库单独拆开来打包成不同的文件(chunk)

    第一步:

    创建 webpack.dll.js

    第二步:  在webpack.dll.js

    /*
      使用dll技术,对某些库(第三方库:jquery,react,vue..) 进行单独打包
      当运行webpack时,默认查找webpack.config.js文件
      但是我们要执行webpack.dll.js文件
         --> webpack  --config webpack.dll.js
    */
    
    const webpack = require("webpack")
    
    module.exports = {
       entry:{
          jquery: ['jquery']
       },
       output: {
           filename:'[name].js',
           path:resolve(__dirname,'dll'),
           library:'[name]_[hash]' //打包的库向外面暴露出去的内容叫什么名字
       },
       plugins: [
          //打包生成一个manifest.json --> 提供和jquery映射
          new webpack.DllPlugin({
              name:'[name]_[hash]', //映射库的暴露的内容名称
              path: resolve(__dirname,'dll/manifest.json') //输出文件路径
         })
      ],
      mode:"production"
    }

    执行命令

    webpack  --webpack.dll.js
    

    第三步:上面的两个步骤已经实现了打包,那么后面就不需要再打包了,直接引用jquery.js(打包后的)了

    配置webpack.config.js

    const wepack  = require('webpack')
    const AddAssetHtmlWebpackPlugin  = require('add-asset-html-webpack-plugin')
    
    module.exports = {
       plugins: [
         //告诉webpack哪些库不参与打包,同时使用时的名称也得变
         new webpack.DllReferencePlugin({
             manifest:resolve(__dirname,'dll/manifest.json')
         }),
         //将某个文件打包输出去,并在html中自动引入该资源
         new AddAssetHtmlWebpackPlugin({
             filepath:resolve(__dirname,'dll/jquery.js')
         })
      ]
    }

      

  • 相关阅读:
    剑指offer-第二章排序之年龄排序
    剑指offer—第二章算法之快速排序
    java小程序(课堂作业02)
    关于java的一些小知识(课程作业01)
    Java从命令行接受多个数字并求和
    《大道至简》第一章读后感及伪代码
    大道至简读后感
    GCPC 2013_A Boggle DFS+字典树 CSU 1457
    Aizu 2155 Magic Slayer 背包DP
    UVALive 4255 Guess
  • 原文地址:https://www.cnblogs.com/zmztya/p/14716349.html
Copyright © 2011-2022 走看看