weback可以把各种资源,例如JS(含JSX)、coffee、样式(含less/sass)、图片等都作为模块来使用和处理。同时支持amd cmd CommonJS语法。同时可以和gulp一块使用。

一.新建工程目录

1.npm init

2.webpack.config.js

目录结构如下

project

+ webpack.develop.config.js

+ src

- index.html

- index.js

+ publish

- index.html

二.安装webpack

npm install webpack -g

npm install webpack --save-dev

三.运行

1.一般通过配置文件的形式来运行webpack(写入webpack.config.js)

webpack --config webpack.develop.config.js(运行配置文件默认为webpack.config.js)

var path = require('path');

module.exports = {
entry:path.resolve(__dirname,'src/index.js'),
output: {
path: path.resolve(__dirname, 'publish'),
filename: 'bundle.js',
},
module: {
loaders: [
]
}
}

打包成功如下

  

2.webpack-dev-server使用 此插件可以监视代码变化自动编译代码

(1)执行完此命令生成的js文件存在于内存中,实际工程中没有,但是在html文件中引用好用。

(2)改完代码webpack-dev-server自动编译新的代码刷新浏览器可见。

(3)如果想也自动刷新页面(需要修改配置文件如下)

var path = require('path');

module.exports = {
// 修改enrty为如下三行,在改变代码后 浏览器自动刷新
entry:[
'webpack/hot/dev-server',
'webpack-dev-server/client?http://localhost:8080',
path.resolve(__dirname,'src/index.js')
],
output: {
path: path.resolve(__dirname, 'publish'),
filename: 'bundle.js',
},
module: {
loaders: [
// { test: /\.css$/, loader: "style!css" }
]
}
}

 四.常用加载器

1.babel-loader(es6转es5) 需要安装的包如下

npm install babel-loader --save-dev

npm install babel-core babel-preset-es2015 babel-preset-react --save-dev

修改配置文件中的module 就可以编辑es6语法和jsx语法

 module: {
loaders: [
{
test: /\.jsx?$/, // 正则匹配js和jsx
loader: 'babel',
query: {
presets: ['es2015', 'react']
}
},
{
test: /\.css$/, // Only .css files
loader: 'style!css' // 同时用两个,中间用感叹号隔开loaders
},
{
test: /\.scss$/,
loader: 'style!css!sass'
}
]
}

2. url-loader (图片处理)(不要和file-load一块使用,可能会冲突)

npm install url-loader --save-dev

{

test: /\.(png|jpg)$/,//处理png和jpg的图片

loader: 'url?limit=100000'//限制为100k(如果小于100k会将图片打包进js文件)

}

3.css-loaderstyle-loader

npm install css-loader style-loader --save-dev

{

test: /\.css$/, // Only .css files

loader: 'style!css' // Run both loaders

}

五.常用插件

1.extract-text-webpack-plugin 用于在js中抽取css文件

2.html-webpack-plugin 创建html文件到publish

六。

webpack // 基本的启动webpack方法

webpack -w // 提供watch方法

webpack -p // 对文件进行压缩

webpack -d // 提供source map,方便调试。

webpack --progress 显示编译进度

webpack --colors 显示静态资源的颜色

webpack --display-chunks 展示编译后的分块

webpack --display-reasons 显示更多引用模块原因

webapck --display-error-details 显示更多报错信息

webpack-dev-server--hot只要在启动webpack开发服务器时开启--hot参数,就可以使用react-hot-loader(使用 react 编写代码时,能让修改的部分自动刷新)
webpack-dev-server --content-base build 自动找build下面的静态文件
webpack --profile 输出性能数据,可以看到每一步的耗时

weback学习笔记的更多相关文章

  1. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  2. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  3. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  4. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  5. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  6. seaJs学习笔记2 – seaJs组建库的使用

    原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...

  7. CSS学习笔记

    CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...

  8. HTML学习笔记

    HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...

  9. DirectX Graphics Infrastructure(DXGI):最佳范例 学习笔记

    今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意这篇文章,现在看12,觉得是跳不过去的一篇文章,地址如下: https://msdn.micro ...

随机推荐

  1. C++多态(二)——函数重载(overloading)和操作符重载

       任何函数都能重载. 一.普通函数的重载 C语言中一个函数只能处理一个类型的数据,不可能兼顾两种或多种数据类型:C++使用使用同一名称的函数来处理多个类型的数据. #include <ios ...

  2. nginx.conf配置(支持thinkphp)

    error_log /home/wwwlogs/nginx_error.log crit; pid /usr/local/nginx/logs/nginx.pid; #Specifies the va ...

  3. SQL入门经典(八) 之存储过程

    存储过程(stored procedure)有时候称为sproc,它是真正的脚本-或者更准确的说,他是批处理(batch)-它存储于数据库中,而不是淡出的文件中.无论如何,这个比较并不是很确定.存储过 ...

  4. 【原创】WinForm 模态对话框

    今天解决的一个问题,记录下,以备后用. 问题描述:WinForm程序有超时自动退出功能,但是有些模态对话框不关掉的话会退出失败,原因(猜测): 程序倒计时用的System.Windows.Forms. ...

  5. Quartz.net 定时调度时间配置格式说明与实例

    格式: [秒] [分] [小时] [日] [月] [周] [年] 序号 说明 是否必填 允许填写的值 允许的通配符 1 秒 是 0-59 , - * / 2 分 是 0-59 , - * / 3 小时 ...

  6. NoSQL:从关系型数据库到非关系型数据库

    关系型数据库 所谓关系型数据库,,就是指采用了关系模型来组织数据的数据库. 什么是关系模型,简单说,关系模型就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织. 关系模 ...

  7. MySQL1:MySQL函数汇总

    前言 MySQL提供了众多功能强大.方便易用的函数,使用这些函数,可以极大地提高用户对于数据库的管理效率,从而更加灵活地满足不同用户的需求.本文将MySQL的函数分类并汇总,以便以后用到的时候可以随时 ...

  8. Javascript图片裁切

    最近浏览了不少网站的图片裁切效果,大部分的做法如下图所示(借用一张脚本之家的图片),通过改变裁切框的大小来选取合适的位置. 但本文介绍的是另外一种裁切方式,裁切框由开发者决定,图片大小由用户决定,通过 ...

  9. Form认证的几点说明

    有的页面需要用户认证之后才可以进入,通常都是在Filter的OnActionExecuting方法中我们需要获取当前用户.有两种情况不必登录:1.用户是登录的,也就是认证过的.2.用户上次登录了,但没 ...

  10. 走进AngularJs(五)自定义指令----(下)

    自定义指令学习有段时间了,学了些纸上谈兵的东西,还没有真正的写个指令出来呢...所以,随着学习的接近尾声,本篇除了介绍剩余的几个参数外,还将动手结合使用各参数,写个真正能用的指令出来玩玩. 我们在自定 ...