webpack生产模式/基础总结

97 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第25天juejin.cn/post/712312…

开发服务器&自动化

解释:就不需要改动某个文件之后,在输出npx webpack

下载包:npm i webpack-dev-r serve -D

// 开发服务器

devServer:{
        host:"localhost",//启动服务器域名
        port:"3000",//启动服务器端口号
        open:true,  //是否自动打开浏览器
    }

插件

MiniCssExtractPlugin

本插件会将CSS提取到单独的文件中,为每个包含css的JS文件创建一个CSS文件,并且支持CSS和SourceMaps的按需加载 下载包:npm install --save-dev mini-css-extract-plugin

记住:要引入插件 const MiniCssExtractPlugin=require("mini-css-extract-plugin")

## 做兼容性配置
{
    loader:"postcss-loader",
    options:{//给loader加的配置项
        postcssOptions:{
            plugins:[
                "postcss-preset-env",//能解决大多数兼容性问题,
            ]
        }
    }
}

写上以上代码段,但没有告诉浏览器具体做到什么样的程度,可在 package.json文件里添加如下配置:

    "ie >= 8"//就是要做到ie8及以上
    "browserslist":[

        "last 2 version",//只要各浏览器最新的两个版本
        "> 1%",//兼容性支持在99%
        "not dead"//有些在发展中已经死掉的不要了
        
        相当于用它们3各的交集,时机项目中就会写上面这样的
     ]

然后再去执行npm run build 即开发命令,就可以看大打包之后的css文件有一些兼容性不太好的样式就会加上相应的前缀。

CssMinimizerWebpackPlugin插件

说明:这个插件使用cssnano优化和压缩css。使打包过后的css代码变成一行

就向optimize-css-assets-webpack-plugin一样,但在source maps和assets中使用查询字符串会更加准确,支持缓存和并发模式运行。

下载包:npm install css-minimizer-webpack-plugin --save-dev

基础总结

1. 两种开发模式

  • 开发模式:代码能编译自动化运行
  • 生产模式:代码编译优化输出。

2. Webpack基本功能

  • 开发模式:可以编译ES Module语法
  • 生产模式:可以编译ES Module语法,压缩js代码

3. Webpack配置文件

  • 5各核心概念

(1)entry 入口文件(打包路径)

(2)output 输出路径

(3)loader 各种loader,编译

(4)plugins 插件

(5)mode 模板

  • devServe配置

4. Webpack脚本指令用法

  • webpack直接打包输出
  • webpack serve启动开发服务器,内存编译打包没有输出(即dist下没有文件)

在生产模式才有输出(dist文件夹下有打包后的各种文件)