webpack4学习(1)

首先安装webpack:npm install webpack webpack-cli

编译ES6注意点

编译ES6用到的有:babel-loader,babel-preset-env,babel-polyfill等babel系列
需要注意的是安装babel-core和babel-loader这个2个的使用版本问题
babel-core (版本6)对应babel-loader的版本7,
babel-core后续改成@babel/core(7)对应babel-loader的8,混淆使用webapck打包会报错;
babel-loader配置中的opitons对相应的是外置配置.bablerc文件

基本的webpack.config.js介绍:

module.exports={
     mode:"development",//打包模式,设置为production时webpack自动处理项目中为使用的代码等
     entery:{
        app:"./src/app.js"//项目入口文件设置
      },
      output:{
      //输出文件配置
      publicPath:""//项目中资源文件等的引入路径配置
      path:""//输出路径
      filename:""//输出文件名
      chunkFilename:""//打包代码块名
      },
      module:{
        rules:[]//配置loader规则
      }
      ....
}

多页面提取公共代码

config.optimization={
 minimize:true,//是否压缩代码
 splitChunks:{ //根据不同的配置来分割出不同的bundle
  chunks:"all"||"async"||"initial"//分割代码块
   name:""//分割代码的js名称
  minChunks:""//最小公共模块次数
  cacheGroups:{ //缓存策略,默认可以覆盖外面的name等设置
    test:""//正则匹配文件
    priority :""//优先级
    ...
  }
  }
}

单页面代码分割

import(/*webpackChunkName:'test' */ "./test.js").then()
//或者使用
require.ensure()

css提取

使用到:extract-text-webpack-plugin插件

npm install extract-text-webpack-plugin@next --save-dev 
var extractPlugin=require('extract-text-webpack-plugin');
rules:[
use:extractPlugin.extract({
fallback:{},
use:[]
})
]
plugin:[
new extractPlugin({
name:"",
allChunks:false
})
]
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 把每章节的代码都放到了git仓库:https://github.com/fx35792/webapck-study...
    读书的鱼阅读 757评论 0 8
  • 前言 半年前也写过一篇babel的简单使用文章,当时看了下babel的文档,但是很多地方还不理解,所以文章里没有怎...
    mercurygear阅读 46,273评论 9 100
  • 前言 本文主要从webpack4.x入手,会对平时常用的Webpack配置一一讲解,各个功能点都有对应的详细例子,...
    BetterChen阅读 2,022评论 0 3
  • 2018年9月29日,是我和林先生结婚十周年纪念日。 醒来时,林先生还在睡梦中,将近四十岁的年纪,眼角的纹路也越来...
    松月bling阅读 544评论 0 2
  • 脑海轻轻奏旋律,手中枝条谱乐曲。 我心沉醉大自然,品悟柔声得真趣。
    蛮力阅读 531评论 4 18

友情链接更多精彩内容