zoukankan      html  css  js  c++  java
  • babel升级 6.x -> 7.x;eslint升级 4.x -> 7.x; webpack升级 3.x -> 4.x; extract-text-webpack-plugin 3.0.0 -> 4.0.0-beta.0

    Babel 升级

    1、是升级 package.json 的版本,

    2、是修改 .babelrc。

    3、最后是手动调整其他一些配套的东西

    前两个步骤,直接通过在项目文件夹下运行 npx babel-upgrade --write 即可

    官方升级指南:https://www.babeljs.cn/docs/v7-migration

    babel升级之后,项目报错了,经排查之后,发现是babel自动添加了 use strict 导致某个地方获取到的window对象是undefined所以报错。

    所以在 .babelrc 里面添加了 

      "plugins": [
        ["@babel/plugin-transform-modules-commonjs", {
          "strictMode": false
        }]
     ]

    作用:不添加严格模式

    这个时候项目就可以跑起来了。

    可选链也可以直接使用了,但是空值合并符还是会报错。看了babel文档之后,发现是babel配置里面的插件少了 “@babel/plugin-proposal-nullish-coalescing-operator”

    但是加了之后还是不行,一样报错。

     eslint升级

    原因:babel虽然已经升级并且已经支持空值合并符,但是eslint版本太低,它不支持空值合并符,所以会报错,因此再更新eslint相关包的版本。

     更新之后不需要修改相关代码,但是会默认添加一些新的eslint规则,可以自己视情况在.eslintrc里面修改

    webpack升级

     

     

    webpack 4 对应的 extract-text-webpack-plugin 版本需要是 4.0.0-beta.0

    contenthash 改为 md5:contenthash:hex:20

     

    chunksSortMode: 'dependency' 改为 
    chunksSortMode: 'auto'
  • 相关阅读:
    SDN作业(4)
    SDN作业(3)
    第一次个人编程作业
    SDN作业(2)
    SDN作业(1)
    第一次博客作业
    浅谈闭包
    预编译And作用域链
    定时器
    window事件
  • 原文地址:https://www.cnblogs.com/ly0612/p/15293502.html
Copyright © 2011-2022 走看看