webpack 1.x升级过程中的踩坑总结大全

 更新时间:2017年08月09日 09:45:14   作者:u3xyz  
webpack1已结不再维护了,官方在主推webpack2,最近在升级webpack过程中遇到了不少的问题,所以下面这篇文章主要给大家总结了一些在webpack 1.x升级过程中的遇到的坑,以及详细的解决方法,需要的朋友可以参考借鉴,下面来一起看看吧。

前言

大家应该都知道,Webpack 是一个前端资源加载/打包工具。它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源。因为最近在对博客做SSR,无奈vue ssr demo或例子都是基于webpack2的。博主在webpack1.x上折腾了许久,vue-ssr-server-bundle.json文件生成仍然还是遥遥无期。最后还是乖乖地开始了webpack升级之旅。

本文主要记录升级过程中遇到的一些坑和解决办法,可能有些遗漏了,能记多少记多少吧。话不多说了,来一起看看详细的介绍吧。

错误:Error: Chunk.entry was removed. Use hasRuntime()

解决办法:升级extract-text-webpack-plugin ("extract-text-webpack-plugin": "^2.1.0",)

错误:Error: Breaking change: extract now only takes a single argument.

// 错误提示

Error: Breaking change: extract now only takes a single argument. Either an options object *or* the loader(s).
Example: if your old code looked like this:
 ExtractTextPlugin.extract('style-loader', 'css-loader')

You would change it to:
 ExtractTextPlugin.extract({ fallback: 'style-loader', use: 'css-loader' })

原因是webpack2对loader的配置做了一些调整,修改 ExtractTextPlugin配置即可:

{
 test: /\.less$/,
 use: ExtractTextPlugin.extract({
  fallback: 'style-loader',
  use: ['css-loader', 'less-loader']
 })
},

htmlWebpackPlugin生成的html,没有引入css, app.js

修改配置,chunks属性使用files包裹

{
 filename: pageName + '.html',
 template: __dirname + '/src/' + pageName + '.html',
 chunks: pageConf.chunks,
 inject: true
};
{
 filename: pageName + '.html',
 template: __dirname + '/src/' + pageName + '.html',
 files: {
  chunks: pageConf.chunks,
 },
 inject: true
};

eslint不能识别es6语法

 ✘ http://eslint.org/docs/rules/ Parsing error: The keyword 'import' is reserved
 src\entry.client.js:7:1
 import { createApp } from './app'
 ^

解决办法:修改eslint配置,增加

"parser": "babel-eslint",

错误: Module build failed: BrowserslistError: Unknown version 57 of and_chr

npm 包过期,删除node_modules,从新安装依赖即可

webpack dist打包后,不生成公共css文件

vee-loader配置不对,加上配置 extractCSS: true

{
 test: /\.vue$/,
 loader: 'vue-loader',
 options: {
  extractCSS: isProd,
  preserveWhitespace: false,
  postcss: [
  require('autoprefixer')({
   browsers: ['last 3 versions']
  })
  ]
 }
},

小结

升级过程总体上还算顺利,vue-ssr-server-bundle.json也生成了,不过这仅仅是ssr的开始,一大堆问题等着解决。 如果不熟悉webpack2可以先花点时间看下官网介绍,英文不好的可以看翻译版。 整个升级过程总得来说,就是很多loader得升级,另一个要注意的就是loader的配置了,其它似乎没什么特别的地方。

总结

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • 'webpack-dev-server' 不是内部或外部命令也不是可运行的程序 或批处理文件的最新解决方法

    'webpack-dev-server' 不是内部或外部命令也不是可运行的程序 或批处理文件的最

    这篇文章主要介绍了'webpack-dev-server' 不是内部或外部命令也不是可运行的程序 或批处理文件的最新解决方法,文中给大家补充介绍了webpack-dev-server的介绍与用法,需要的朋友可以参考下
    2023-02-02
  • p5.js临摹动态图形的方法

    p5.js临摹动态图形的方法

    这篇文章主要为大家详细介绍了p5.js临摹动态图形的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • JavaScript实现简单表单验证案例

    JavaScript实现简单表单验证案例

    这篇文章主要为大家详细介绍了JavaScript实现简单表单验证案例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • JS实现代码雨特效

    JS实现代码雨特效

    这篇文章主要为大家详细介绍了JS实现代码雨特效,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • MockJs结合json-server模拟后台数据

    MockJs结合json-server模拟后台数据

    这篇文章主要为大家详细介绍了MockJs结合json-server模拟后台数据,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • 老生常谈javascript的类型转换

    老生常谈javascript的类型转换

    下面小编就为大家带来一篇老生常谈javascript的类型转换。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-10-10
  • javascript 尚未实现错误解决办法

    javascript 尚未实现错误解决办法

    打开页面的时候,FF下一切正常,但是当我用IE6测试的时候,JS总执行不下去了,提示“尚未实现”,无论怎么搞就搞不定。
    2008-11-11
  • js select下拉联动 更具级联性!

    js select下拉联动 更具级联性!

    这篇文章主要为大家详细介绍了js select下拉联动的相关资料,更具级联性!文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • three.js 实现露珠滴落动画效果的示例代码

    three.js 实现露珠滴落动画效果的示例代码

    这篇文章主要介绍了three.js 实现露珠滴落动画效果的示例代码,非常不错,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • javascript权威指南 学习笔记之javascript数据类型

    javascript权威指南 学习笔记之javascript数据类型

    JavaScript中允许使用三种基本数据类型 数字,文本字符和布尔值。其中数字包括符点数.此外,它还支持两种小数据类型 -null(空)和undefined(未定义),该两种小数据类型,它们各自只定义了一个值 。
    2011-09-09

最新评论