webpack和rollup,vite

980 阅读1分钟

webpack和rollup区别

rollup :Rollup 是一个 JavaScript 模块打包器,因为专注构建出的代码体积更小。建议开发者使用esm写模块(rollup.js 的构建结果就是纯纯的 js,并不会被 __webpack_require__ 之类的代码增加代码量. 热门工具 vite 采用了它当生产构建工具。 图片所在文章链接

image.png

webpack

image.png webpack基本功能

webpack和rollup基本配置

多入口配置

webpack 多入口配置

rollup多入口配置

export default {
  // input: 'src/main1.js',
  input: ['src/main.js', 'src/main1.js'],
  //或者
  input: {
      index: 'src/main1.js',
      main: 'src/main.js',
    },
  output: [
    {
      // file: 'dist/bundle.es.js',
      dir: 'dist/es',
      format: 'es',
      name: 'budleName',
      sourcemap: true,
      // dir:'['
    },
    {
      // file: 'dist/bundle.cls.js',
      dir: 'dist/cjs',
      format: 'cjs',
      name: 'budleName',
      sourcemap: true,
    },
  ],
  
  //或者
  export default [{
  },{
  }]
  

打包后

image.png

css

webpack:
     module: {
          rules: [ {
              test: /\.(css|less)$/,
              //识别并转成js cssLoader,打包到link标签 style-loader  less文件识别:less-loader.
              // 增加前缀兼容不同浏览器 postcss-loader 还有需要配置post-config.js 在里面加 autoprefixer(可以自动在样式中添加浏览器厂商前缀,避免手动处理样式兼容问题)
              //cssLoader识别css文件  styleloader 引到页面上
              // use: ['style-loader', 'css-loader', 'less-loader'],
              use: [MiniCssExtractPlugin.loader, 'css-loader', 'less-loader'],
            },
            ]
        }
        
        
rollup:

import postcss from 'rollup-plugin-postcss'
 plugins: [
     postcss()
      ]

图片

webpack:

file-loader和url-loader url-loader封装了file-loader。url-loader不依赖于file-loade,file-loader可以用来帮助webpack打包处理一系列的图片文件;比如:.png 、 .jpg 、.jepg等格式的图片;使用url-loader打包的图片会给每张图片都生成一个随机的hash值作为图片的名字;,url可以将图片转成base64,减少http请求


{
    test: /.(jpg|png|gif|jpeg)$/,
    use: [{
        loader: 'url-loader',
        options: {
            limit: 10000   // 限制10Kb的图片,小于10KB编码,大于10Kb打包
        }
    }]
}


rollup:

@rollup/plugin-image插件

资源模块详细 image.png

webpack

webpack和rollup常用插件

webpack和rollup常用优化

webpack和rollup实现原理

webpack插件,loader开发 ,rollup插件开发

vite