webpack4.x使用注意事项

webpack4.x版本与之前相比有了较大的改变,在学习4.x版本的路上遇到了很多坑,今天就来总结下以备今后查阅。

  1. 安装
    webpack4的安装增加了webpack-cli模块的依赖,正确的安装如下:
    npm i -D webpack
    npm i -D webpack-cli

  2. 使用
    (1) webpack4不需要定义入口点和输出文件,默认将./src/index.js作为默认入口点,而在./dist/main.js中吐出这个包。
    (2) webpack4默认不需要配置文件,只需要在package.json中定义–mode。
    "scripts": { "dev" : "webpack --mode development", "build": "webpack --mode production" }

  3. css modules和postcss-loader的使用
    css modules使得css也可以模块化,避免class样式的全局污染,具体代码如下:
    启用css modules的配置

    由于css在不同的浏览器中需要不同的前缀,为了解决这一问题,我们采用postcss-loader,在使用postcss-loader时,我们需要配置postcss.config.js文件。
    引入postcss-loader加载模块

配置postcss.config.js

  1. 问题分析
    (1) webpack XX XX 进行文件打包的时候报错:
    webpack打包报错信息

    出错原因: webpack可能未全局安装,所以此时不可以直接使用webpack这个命令。
    解决办法:采用局部webpack node_modules.bin\webpack xxx xxx

    (2) npm start:
    start 是个特殊的命令,所以使用start不需要使用run;否则就需要npm run XXX(例如:npm run build)

    (3) webpack4方式运行报错和警告的解析
    警告信息
    出错原因: webpack.config.js缺少mode的配置
    解决办法: mode: ‘production’
    开启本地服务器devServer运行时有警告
    警告原因: 展示性能提示。如果一个资源超过 250kb,webpack 会对此输出一个警告来通知你。
    解决办法:performance: { hints: false }

安装babel后运行报错
出错原因:babel-loader版本比较新,同时需要安装其他的依赖
babel@8.x版本
解决办法:1. 降低babel的版本 npm i babel-loader@7 babel-core babel-preset-env babel-preset-react --save-dev
2. 安装babel-loader@8.x所需要的依赖模块 npm i babel-loader @babel/core @babel/preset-env @babel/preset-react --save-dev, 同时还需要更改webpack.config.js里面的配置,配置如下:
presets的值要更改

安装style-loader,css-loader后运行报错
出错原因: 由于有关css的loader有两个,所以在use中写多个loader需要以以下的样式写入{test: /\.css$/, use: [{loader: 'style-loader'}, {loader: 'css-loader'}]}

  1. 详细配置
    (1) source-map 生成map文件,规定编译后的文件与源码文件之间的对应规则,详细参考: https://www.cnblogs.com/axl234/p/6500534.html
    (2) resolve 配置webpack查找文件的规则,详细参考:https://segmentfault.com/a/1190000013176083?utm_source=tag-newest
    https://segmentfault.com/a/1190000006178770

参考博客:http://www.cnblogs.com/xfz1987/p/8473719.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值