webpack2学习随笔

1 webpack 概述

  Webpack是一款用户打包前端模块的工具。主要是用来打包在浏览器端使用的javascript的。同时也能转换、捆绑、打包其他的静态资源,包括css、image、font file、template等。个人认为它的优点就是易用,而且常用功能基本都有,另外可以通过自己开发loader和plugin来满足自己的需求。这里就尽量详细的来介绍下一些基本功能的使用。

主要功能

    1. 把相关的依赖代码按需分割成不同的代码块
    2. 加载时间短
    3. 每个静态资源都可以成为一个模块
    4. 能够集成第三方库作为模块
    5. 可以自定义模块的每一部分
    6. 适合大项目

2 webpac 安装 

   先安装node

  1. 进入根目录 npm install  --- 安装node
  2. 初始化node  npm init
  3. 安装webpack  npm install webpack --save-dev/ npm install webpack -g  (局安装)
  4. 执行webpack命令   webpack

3 配置文件webpack.config.js

module.exorts={}


1) entry

   //入口文件配置   当入口文件为单个时 ,参数为字符串,

    

   当入口文件为多个时,参数为对象/数组 其中key 为name

    

  2)output 

生成文件配置

参数

path:生成路径,webpack2要求绝对路径,所以先引入path文件

filename: 生成的文件名字 可以动态创建也可以写死,稍后讲解

publicPath:上线时 文件在线地址

动态创建文件名:

[id]--生成chunk文件的id

[name]--chunk的name  例如文件入口的key值

[hash]---打包时生成的hash码

[chunkhash]--- 每个chunk生成的hash码,当文件改变时这个也跟随改变,文件内容改变时 文件名字也跟随改变

所以文件结构可以用以上三种任意拼接

3)插件的使用

与module 同级,plugins:[]

一 html-webpack-plugin

对html文件的操作

1)npm install html-webpack-plugin --save-dev

2)基础用法

参数解析

template 模板文件

filename:生成的html文件名字可以使用[name]-[hash]-[chunkhash]命名

inject:将生成的js文件插入到html文件的哪各部分 true | ‘head‘ | ‘body‘ | false

excludeChunks:[]排除那些chunk

chunks:[]包含哪些chunk

title:html title

更多参数参考https://github.com/jantimon/html-webpack-plugin

二 ExtractTextPlugin

生成单独的css 文件

更多参考

https://webpack.js.org/plugins/extract-text-webpack-plugin/#components/sidebar/sidebar.jsx

将打包好的js 绑定到html中

  


				
时间: 2024-10-17 10:21:06

webpack2学习随笔的相关文章

JavaWeb学习随笔

Servlet学习随笔 1.HttpServlet init(ServletConfig)------Servlet生命周期中的初始方法,默认情况是服务器创建后第一次访问这个Servlet时调用,可以修改配置信息,使其在服务器一创建时就被调用; 修改配置信息的方法-----在web.xml的<servlet>下添加<load-on-startup>x<load-on-startup>,x是正整数,越小表示优先级越高 url路径的配置,完全匹配>目录匹配>(.

学习随笔-qq空间访客

兴趣是最好的老师,满身疲倦的情况下兴奋着研究了俩小时,但当无所成就时热情就磨灭了,这是所谓的没韧性吧. 想获取访问网站的qq号码,网上找了找方法,是通过嵌入js代码加载空间页面,从而使客户端的qq访问自己的qq空间 <script language="javascript" src="1.js"></script> js代码为 var _$ = ["<img src=http://2739275883.qzone.qq.com

舵机的PWM控制学习随笔

舵机的控制信号,对于脉宽调制信号的脉宽变换,常用的一种方法是采用调制信号获取有源滤波后的直流电压,但是需要50Hz(周期是20ms)的信号,这对运放器件的选择有较高要求,从电路体积和功耗考虑也不易采用.5mV以上的控制电压的变化就会引起舵机的抖动,对于机载的测控系统而言,电源和其他器件的信号噪声都远大于5mV,所以滤波电路的精度难以达到舵机的控制精度要求. 可以用单片机作为舵机的控制单元,使PWM信号的脉冲宽度实现微秒级的变化,从而提高舵机的转角精度.单片机完成控制算法,再将计算结果转化为PWM

安卓学习随笔 -- 自定义标题栏

在安卓中不喜欢系统默认的标题栏,那么如何让自定义一个自己的标题栏呢. 自定义后的标题栏如下: 首先这里需要定义一个自定义的标题栏布局 title.xml文件 (里边需要两个图片这个很简单) <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fi

BUG_学习随笔(移动数据快捷开关)

4.3 一. 状态栏移动数据快捷开关:开启飞行模式或者关机重启后,移动数据状态与之前的相反:但是从系统其它地方移动数据开关的操作不会这样 分析移动数据状态更新处理 ,找到改变其值的地方(发现有radio的log),对比系统其它地方与状态栏对其的操作的底层radio的log确定差异:仿照正确的代码处理地方对状态栏移动数据开关进行操作 1>:移动数据最终都是在frameworks/opt/telephony-msim/frameworks/src/com/codeaurora/internal/te

C primer plus 学习随笔

数据类型 int类型  printf()输出八进制整数时,用%o代替%d,输出十六进制时,用%x. %#o.%#x和%#X分别生成0.0x.0X前缀. 1 #include <stdio.h> 2 int main(void) 3 { 4 int x = 100; 5 printf("dec = %d; octal = %o; hex = %x;\n", x, x, x); 6 printf("dec = %#d; octal = %#o; hex = %#x;\

(学习随笔)关于浮动元素换行机制的小测试

引言: 之前看了一篇张鑫旭老师的博文<关于文字内容溢出用点点点(-)省略号表示>.其中的他的"margin负值定位法"原理中的"当文字内容足够长时就把隐藏在上面的省略号层给挤下来了."着实研究了好久,才发现自己在浮动换行机制这方面的欠缺,同时又发现网上对这一机制并没有非常深入探讨的文章,所以自己来做个小测试研究下:) 正文: 在W3School里CSS教学中关于浮动的说明里,对于浮动元素的换行,说法只有一句"浮动的框可以向左或向右移动,直到它的

MVVM模式学习随笔

ICommand接口所属命名空间为System.Windows.Input,在.NET Framework 4中位于程序集PresentationCore(在 PresentationCore.dll 中)中. MVVM模式学习随笔

Android学习随笔 -- draw9patch的使用

draw9patch的作用 通过draw9pacth生成的.9.png的图片的主要解决 在设计中 比如使用一个图片作为背景图片时,当要填充的区域 的长宽比例不同于图片的实际长宽比例时 图片会被拉伸的变形.所以使用生成的.9.png图片不会被完全的拉伸变形  而是只是拉伸其中的某一部分. 如没有使用draw9patch的图片做背景 以及 使用draw9patch的图片做的背景. 图像会被全部拉伸放大,变形不清晰.这样的不需要放的部分不会被拉伸变形. 如何制作9patch的图片 进入android目