一.自我初级认知  (是什么?     能干什么,有卵用?       有选择为什么要选你?(比较优势在哪) )     适合的才是最好的

模块打包器(module bundler)     根据项目需求合并代码,并且支持按需加载。

  1.将混在页面中的图片文件、js文件、css文件抽取出来,解除依赖。

  2.模块系统主要解决模块的定义、依赖和导出.

3.全局作用域下,也就是定义在 window 对象中。

4.webpack实现的功能:

    a:将依赖树拆分成按需加载的块

    b:初始化加载的耗时尽量少

    c:各种静态资源都可以视作模块

    d:将第三方库整合成模块的能力

    e:可以自定义打包逻辑的能力

    f:适合大项目,无论是单页还是多页的 Web 应用

  5.编译后缓存到内存中去。

  6.webpack的理念是基于项目处理的,把对应的文件格式给对应的loader处理,然后你就不用管了,它会决定怎么压缩,编译。

配置文件:用规定的语法描述你要干什么!  怎么干是工具的事!    就像给方法传递参数一样。

二:webpack配置

1.entry:配置要打包的文件的入口;可以配置多个入口文件

2.output:配置输出文件的路径,文件名。  出口

  3.resolve:配置文件后缀名

  4.module(loaders): 配置要使用的loader(注意loaders的处理顺序是从右到左的)     编译过程中加载的资源拦截做处理

  5.plugins: 配置要使用的插件

配置目录结构和详解:  网上看别人的,github!    http://www.imooc.com/article/4617

  

  

三:学习参考资源

  1.http://www.jianshu.com/p/b95bbcfc590d     http://www.cnblogs.com/zhengjialux/p/5861845.html (基础教程)

  2.http://webpackdoc.com/module-system.html(官方中文文档:简单易懂,相当不错)

3.https://webpack.js.org/concepts/(官网,非常的不错哦! 练习英文阅读能力)

http://webpack.github.io/docs/list-of-plugins.html(同上哦)

http://survivejs.com/webpack/webpack-compared(构建工具比较文档)

4.https://zhuanlan.zhihu.com/p/20367175?columnSlug=FrontendMagazine(知乎)

  5.http://www.open-open.com/lib/view/open1471590235833.html(项目发布必看)

6.http://www.cnblogs.com/liuyt/p/5810042.html(css autoprefixer!)

http://blog.csdn.net/github_26672553/article/details/52107165

7.http://www.cnblogs.com/tugenhua0707/p/4793265.html(有实例demo哦,不错)

8.https://segmentfault.com/a/1190000002551952(入门必看哦! 这个相当的nice)

四:遇到的坎儿

1.人必须首先学会靠自己!不能指望别人! 成年人了!

2. webpack无法生成目录和文件?

答:命令的问题; webpack才是编译处理哦!  webpack-dev-server处理后编译的结果在内存中。

  3.读人家的webpack配置文件哦! 不懂得查资料学习!
  4.看报错信息 认真的看!

  

其他同类工具:

1.gulp  grunt

2.http://fis.baidu.com/fis3/docs/beginning/release.html#/docs/beginning/release.html#CssSprite%E5%9B%BE%E7%89%87%E5%90%88%E5%B9%B6  (百度的哦 文档是中文的)

疑惑:

1.自动化构建工具、模块规范、模块化管理工具 ?

答:会用 Less 去写 CSS,会用 Jade 去写 HTML,会用 Browserify 去模块化、为非覆盖式部署的资源加 MD5 戳等等。所有的一切,如果用手动来做,简直要疯              了!而自动化构建工具,就是为我们完成这一套重复而机械的工作的。

https://www.zhihu.com/question/35595198/answer/67223812

https://segmentfault.com/q/1010000004217785/a-1020000004217853

2.npm?   npm仓库?

3.镜像?

4.语法糖: duck type,人本接口,最小接口,约定优于配置,广义来讲都是一些思想上的"语法糖"。

增加程序的可读性,从而减少程序代码出错的机会。

前端构建工具 webpack的更多相关文章

  1. webpack前端构建工具学习总结(一)之webpack安装、创建项目

    npm是随nodeJs安装包一起安装的包管理工具,能解决NodeJS代码部署上的很多问题: 常见的使用场景有以下几种: 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从NPM服务器 ...

  2. webpack前端构建工具学习总结(二)之loader的使用

    Webpack 本身只能处理 JavaScript 模块,如果要处理其他类型的文件,就需要使用 loader 进行转换. Loader 可以理解为是模块和资源的转换器,它本身是一个函数,接受源文件作为 ...

  3. webpack前端构建工具学习总结(四)之自动化生成项目中的html页面

    接续上文:webpack前端构建工具学习总结(三)之webpack.config.js配置文件 插件的介绍文档:https://www.npmjs.com/package/html-webpack-p ...

  4. 前端构建工具gulp使用

    前端自动化流程工具,用来合并文件,压缩等. Gulp官网 http://gulpjs.com/ Gulp中文网 http://www.gulpjs.com.cn/ Gulp中文文档 https://g ...

  5. 前端模块化工具-webpack

    详解前端模块化工具-webpack webpack是一个module bundler,抛开博大精深的汉字问题,我们暂且管他叫'模块管理工具'.随着js能做的事情越来越多,浏览器.服务器,js似乎无处不 ...

  6. (转载)前端构建工具gulp使用

    前端构建工具gulp使用 前端自动化流程工具,用来合并文件,压缩等. Gulp官网 http://gulpjs.com/ Gulp中文网 http://www.gulpjs.com.cn/ Gulp中 ...

  7. 前端构建工具gulp

    前端构建工具gulp使用   前端自动化流程工具,用来合并文件,压缩等. Gulp官网 http://gulpjs.com/ Gulp中文网 http://www.gulpjs.com.cn/ Gul ...

  8. parceljs 基本使用———又一个前端构建工具

    备注:      又一个新的前端构建工具 1. 安装 yarn global add parcel-bundler 2. 初始化项目 yarn init -y 3. 基本代码 a. 创建 index. ...

  9. 前端读者 | 前端构建工具Gulp

    @羯瑞 整理 前言 前端工具现在层出不穷,网上搜下一大片,就看你怎么去使用了,基于项目看用什么样的构建工具.有的工具提供的功能还是非常强大的. FIS.百度团队的产品.现在百度的多个产品中使用.面向前 ...

随机推荐

  1. iTOP-4412嵌入式开发板ioremap控制GPIO寄存器

    转自迅为电子技术论坛:http://bbs.topeetboard.com GPIO 的寄存器通过 ioremap函数转换之后,可以通过直接控制虚拟地址来控制物理地址(寄存器的实际地址),这样就实现 ...

  2. HADOOP HDFS的设计

    Hadoop提供的对其HDFS上的数据的处理方式,有以下几种, 1 批处理,mapreduce 2 实时处理:apache storm, spark streaming , ibm streams 3 ...

  3. Android工程师入门(一)——这周入大门,挤时间,轻喷

    挤挤时间,入个门先. 一.环境搭建 略. 二.项目结构 在studio中,项目=Module: res:放置应用到的所有资源——基本决定了生成的APK的大小: java:java源程序: manife ...

  4. UVA 12169 Disgruntled Judge【扩展欧几里德】

    题意:随机选取x1,a,b,根据公式xi=(a*xi-1+b)%10001得到一个长度为2*n的序列,奇数项作为输入,求偶数项,若有多种,随机输出一组答案. 思路:a和b均未知,可以考虑枚举a和b,时 ...

  5. [No00005D]如何高效利用GitHub

    原文地址:http://www.yangzhiping.com/tech/github.html 正是Github,让社会化编程成为现实.本文尝试谈谈GitHub的文化.技巧与影响. Q1:GitHu ...

  6. Hibernate 和快照

    8.Oracle中的数据类型 9.Oracle中的伪列 Rowid和RowNum Rowid Rownum:在内存中形成一个不断裂的自增列 --最重要的.就是Oracle分页 我想要emp中的第二页数 ...

  7. SQL Server日期与字符串之间的转换

    本文导读:在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.下面主要就介绍一下SQL Serv ...

  8. JS 中如何判断字符串类型的数字

    function isNumberStr(str){ var n = Number(str); return !isNaN(n); } console.log(isNumberStr('37')); ...

  9. Java多态:upcast和downcast

    upcast例: public class Test { public static void main(String[] args) { Cup aCup = new BrokenCup(); aC ...

  10. Maven 常用命令, 备忘

    Maven在现在的Java项目中有非常重要的地位, Maven已经不是Ant这样仅仅用于构建, 首先, 它是一个构建工具, 把源代码编译并打包成可发布应用的构件工具其次, 它是一个依赖管理工具, 集中 ...