最近项目改版,用webpack重新架构.
些许心得我会写几篇记录一下.
好处如下:
1.ES6语法用起来,babel-loader转义,各种新语法用起来.
2.import 语法写起来,webpack2.0以上版本直接支持.模块化开发大势所趋.写代码变为享受.
import 'pages/liveing/style.scss' import FastClick from 'fastclick' import config from 'configModule' import wx from 'weixin-js-sdk' import '../libs/lib.prototype' import './log.js' import _util_ from '../libs/libs.util'
3.图片直接转base64,减少请求.
4.页面样式 JS调试特别的方便,热更新真的特别好用.
5.支持ejs语法,直接输出静态页面来.公共html模块,可以抽取出来共用.
<!doctype html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="hotcss" content="initial-dpr=1"> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no"> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-status-bar-style" content="black"> <meta name="x5-page-mode" content="no-title"> <meta name="format-detection" content="telephone=no"> <meta name="applicable-device" content="mobile"> <link rel="canonical" href="<%= canonical %>"/> <meta name="Copyright" content="东方体育©版权所有"> <link rel="shortcut icon" href="<%= DIRS.BUILD_FILE.images.favicon %>"> <link rel="bookmark" href="<%= DIRS.BUILD_FILE.images.favicon %>" type="image/x-icon"> <link rel="apple-touch-icon-precomposed" href="<%= DIRS.BUILD_FILE.images.favicon %>"> <link rel="dns-prefetch" href="<%= HOME_URL %>"> <title><%= pageTitle %></title> <meta name="keywords" content="<%= pageKeywords %>"> <meta name="description" content="<%= pageDescription %>">
不好的地方:
某些低级浏览器不支持热替换.没办法调试,必须输出代码后调试,这样出现bug,调试很累.
webpack配置报错,错误信息不是很明显,出现错误,很不好修复.官方文档也不是很详尽.