weback学习笔记
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-loader 和 style-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学习笔记的更多相关文章
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- 2014年暑假c#学习笔记目录
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
- seaJs学习笔记2 – seaJs组建库的使用
原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...
- CSS学习笔记
CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...
- HTML学习笔记
HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...
- DirectX Graphics Infrastructure(DXGI):最佳范例 学习笔记
今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意这篇文章,现在看12,觉得是跳不过去的一篇文章,地址如下: https://msdn.micro ...
随机推荐
- (转)Silverlight控件关系理解
原文地址http://www.cnblogs.com/Joetao/articles/1899664.html 本篇学习了Silverlight中的控件继承关系,了解控件的继承关系对应我们操作控件,使 ...
- cent7内核升级4.9
一.手动档 手动档就是从源码开始编译内核安装,好处是可以自己选择任意版本的内核,缺点就是耗时长,编译安装消耗系统资源 1.1.获取 kernel 源码 这世界上最伟大的 Linux 内核源码下载地址是 ...
- ASP.NET MVC3 Razor 初心者容易遇到的問題(转)
这是一些相关的文章地址 http://demo.tc/Post/679 http://blog.csdn.net/cheny_com/article/details/6298496
- Razor 中的@helper 与 @function 用法
@helper : 可以有返回值,也可以没有返回值 @function :需要有返回值 可以将View中公共部分的代码抽取出来,变成一个独立的方法 公共部分 view 抽出的公共部分 ...
- 记一次Redis和NetMQ的测试
Redis是一个高速缓存K-V数据库,而NetMQ是ZeroMQ的C#实现版本,两者是完全不同的东西. 最近做游戏服务器的时候想到,如果选择一个组件来做服务器间通信的话,ZeroMQ绝对是一个不错的选 ...
- PC版淘宝UWP揭秘
经过第一轮内测后的bug数量:65 2015/11/27 - bug数量 = 60 2015/11/30 - bug数量 = 53 2015/12/1 - bug数量 = 49 2015/12/2 - ...
- 《静静的dojo》 总体教程介绍
web2.0时代,ajax技术成为整个前端开发领域的基石.大部分的书籍.博客由此切入来介绍前端类库与框架,所以dojo往往只被当做一个ajax类库来介绍,然而仅仅以此来定位dojo,无异于管中窥豹.对 ...
- Spring-Context之八:一些依赖注入的小技巧
Spring框架在依赖注入方面是非常灵活和强大的,多了解点一些注入的方式.方法,绝对能优化配置. idref idref属性可以传入一个bean的名称,虽然它是指向一个bean的引用,但是得到的是该b ...
- 写js写傻了,明天研究一下异步
在html某元素上绑定一个click事件,该事件是一个执行事件很长的函数,比如执行几十亿或几百亿次加法,那么在这个函数执行的过程中,其他元素绑定的事件,是如何触发的呢,异步触发还是同步,触发时是怎么执 ...
- jsp模仿QQ空间说说的发表
1.在文本域中输入文字(可以不添加) 2.点击添加图片(可以不添加) 3.点击发表 4.发表成功,文字和图片是超链接,点击就可以查看全部内容 5.点击图片查看原图,没有图片则不显示查看原图的超链接 主 ...