webpack2 前篇

#webpack

前两天用了一天半时间琢磨了下webpack2,想起去年这时候,面对webpack1那样恶心的文档,前前后后搞了好几次才摸索清楚,那真是吐了。

划重点

其实webpack2这样的工具吧,说复杂不复杂,就是我们的思路一定要清晰,第一天我从早上9点搞到了晚上大概8-9点吧。下午一段时间基本是断片的。本文呢主要还是想跟大家分享下思路和心理历程。

不管你做啥对吧,尤其是写程序,更尤其是复杂的时候。理清思路最为关键,为啥有一段时间我断片了呢?就是思路没了,那几个小时就从把逻辑转换为代码的过程变为了写一行测是一行碰运气的过程

做什么

所以我们先来看看,webpack2要为我们做什么?(本次以vue为例,react换下对应的dependencies就好,react在webpack官网文档上都有配置就不说了)

Dev

1.hot-reload 编译.vue

2.编译sass和es6

3.sourceMap

4.eslint

5.环境变量设置

6.输出错误提示在浏览器上

Build

1.rm dist文件夹并且重新生成

2.文件hash

3.cdn链接补全

4.分离css文件

5.sourceMap

列好了后,我们就可以一个一个突破,首先我们从dev下入手,webpack的dev其实是很好配置的,麻烦得就是Build的切换。

webpack的3个文件

我们知道一般要分webpack.devwebpack.prowebpack.base为什么要这样呢?

在我们dev环境下或者是build环境,我们的output、rules、plugin都会很不同!如果写在一起文件会很乱逻辑非常难看懂。这也是为什么vue-cli的build文件夹有那么多个文件的原因。(不得不吐槽下,去年说什么webpack配置比gulp更简单清晰的人不知道怎么想的,明显复杂度不是一个级别了)

下回预告

好像没有什么可以跟你们瞎BB的了。这次过程中我主要实现了两套webpack的配置,我个人认为一种是基础低配版,另一种是标准高配版(基本实现了一个简易的vue-cli配置)。下篇让我们再细说具体配置:)

webpack2 前篇的更多相关文章

  1. VS2010+MVC4+Spring.NET2+NHibernate4-传统三层架构-前篇

    VS2010+MVC4+Spring.NET2+NHibernate4 - 传统三层架构 - 前篇 一直追求使用开源项目,就因一个字:懒! 一直想整理一下的,却一直懒到现在!从当初用的MVC3到现在的 ...

  2. 【翻译】西川善司「实验做出的游戏图形」「GUILTY GEAR Xrd -SIGN-」中实现的「纯卡通动画的实时3D图形」的秘密,前篇(2)

    Lighting和Shading(2)镜面反射的控制和模拟次级表面散射技术 http://www.4gamer.net/games/216/G021678/20140703095/index_2.ht ...

  3. ASP.NET自定义控件组件开发 第三章 为控件添加事件 前篇

    原文:ASP.NET自定义控件组件开发 第三章 为控件添加事件 前篇 第三章 为控件添加事件 好了,我们之前以前开发一个控件.而且也添加了属性,开发也很规范,但是那个控件还差最后一点:添加事件. 系列 ...

  4. 【原创】构建高性能ASP.NET站点 第六章—性能瓶颈诊断与初步调优(下前篇)—简单的优化措施

    原文:[原创]构建高性能ASP.NET站点 第六章-性能瓶颈诊断与初步调优(下前篇)-简单的优化措施 构建高性能ASP.NET站点 第六章—性能瓶颈诊断与初步调优(下前篇)—简单的优化措施 前言:本篇 ...

  5. [原创].NET 分布式架构开发实战之四 构建从理想和实现之间的桥梁(前篇)

    原文:[原创].NET 分布式架构开发实战之四 构建从理想和实现之间的桥梁(前篇) .NET 分布式架构开发实战之四 构建从理想和实现之间的桥梁(前篇) 前言:上一篇文章讲述了一些实现DAL的理论,本 ...

  6. 文本分类需要CNN?No!fastText完美解决你的需求(前篇)

    http://blog.csdn.net/weixin_36604953/article/details/78195462?locationNum=8&fps=1 文本分类需要CNN?No!f ...

  7. Android深入四大组件(四)Android8.0 根Activity启动过程(前篇)

    前言 在几个月前我写了Android深入四大组件(一)应用程序启动过程(前篇)和Android深入四大组件(一)应用程序启动过程(后篇)这两篇文章,它们都是基于Android 7.0,当我开始阅读An ...

  8. 一点一点看JDK源码(六)java.util.LinkedList前篇之链表概要

    一点一点看JDK源码(六)java.util.LinkedList前篇之链表概要 liuyuhang原创,未经允许禁止转载 本文举例使用的是JDK8的API 目录:一点一点看JDK源码(〇) 1.什么 ...

  9. 【Java集合】LinkedList详解前篇

    [Java集合]LinkedList详解前篇 一.背景 最近在看一本<Redis深度历险>的书籍,书中第二节讲了Redis的5种数据结构,其中看到redis的list结构时,作者提到red ...

随机推荐

  1. ui-router 父子state共享数据

    如果ui-view是嵌套的,那么在子view中,可以直接引用 $scope.$parent 即可.

  2. flask 扩展之 -- flask-moment

    一. 安装 $ pip install flask-moment 二. 初始化 from flask_moment import Moment moment = Moment(app) 三. 解决依赖 ...

  3. 通过 itms:services://? 在线安装ipa ,跨过app-store

    1.需要一个html文件,引导下载用户在线安装ipa <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN&quo ...

  4. Intel VT-x 处于禁用状态

    出现错误"此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态"的问题,如下图. Intel VT-x 即Virtualization Technology, ...

  5. 常用html标签的只读写法

    <a href="baidu.com" onclick="event.returnValue=false;">百度</a> a链接的只读 ...

  6. Administrator账户密码忘了怎么办

    WIN7的Administrator账户密码忘了怎么办   1.准备一个带有winpe系统的系统光盘或者U盘 2.启动电脑,按F12选择U盘或者光盘启动,进入winpe操作系统 3.找到c:\wind ...

  7. Linux中FTP服务器的搭建

    vmware12上安装的CentOs6.8,最终实现物理机上的windows10能正常访问CentOs上的FTP服务器. 一.查看是否安装有ftp相关的安装包. # rpm -qa | grep vs ...

  8. 4.vbs的循环,switch,判断等语句

    1.条件判断语句 If Then Else Sub judge(x) Then MsgBox "the num is 0" Then MsgBox "the num is ...

  9. bootstrap table 插件多语言切换

    在bootstrap中的bootstrap table 插件在多语言切换的审核,只需要如下操作 引入bootstrap-table-locale-all.js文件 $('#Grid').bootstr ...

  10. python命令行神器Click

    原文: http://www.lengirl.com/code/python-click.html Click 是用Python写的一个第三方模块,用于快速创建命令行.我们知道,Python内置了一个 ...