weback学习笔记

时间:2022-01-15 08:36:28

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: [
]
}
}

打包成功如下

 weback学习笔记 

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&num;学习笔记目录

    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&lpar;DXGI&rpar;&colon;最佳范例 学习笔记

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

随机推荐

  1. Ext&period;js细节&colon;在MVC中处理Widget Column,GetCmp和ComponentQuery, Id和ItemId

    针对EXT.JS版本的演进,要不断的学习新的最佳实践方法. 比如,在定义组件时,尽管用itemid,而不是id. 在搜索组件时,尽量用ComponentQuery,而不是getCmp. 在MVC中处理 ...

  2. HTML块级标签汇总(小篇)

    块级元素,简单来说,就是自己独占一行的元素.其特点: ①总是在新行上开始: ②高度,行高以及外边距和内边距都可控制: ③宽度缺省是它的容器的100%,除非设定一个宽度. ④它可以容纳内联元素和其他块元 ...

  3. linux pam 控制模式

    工作类别(type).流程栈(stack)和控制模式(control) Linux-PAM 工作的"类别"(type) PAM 的具体工作主要有以下四种类别(type):accou ...

  4. Android中 int&comma;float&comma;Double&comma;String 互相转换

    1 如何将字串 String 转换成整数 int?  A. 有两个方法: 1). int i = Integer.parseInt([String]); 或 i = Integer.parseInt( ...

  5. 使用Java修改Windows注册表

    使用Java修改Windows注册表,使用最基本的就是cmd命令. 事例和运行结果如下所示: package day01; import java.io.IOException; /* 1,reg a ...

  6. Hibernate 的saveOrUpdate方法(转)

    hibernate提供了saveOrUpdate的方法来进行数据库的操作.hibernate会根据对象的状态决定是insert还是update,其根本是通过xml文件中unsaved-value来确定 ...

  7. Scrum项目6&period;0

    sprint演示 1.坚持所有的sprint都结束于演示. 团队的成果得到认可,会感觉很好. 其他人可以了解你的团队在做些什么,并得到重要反馈. 演示是一种社会活动,不同的团队可以在这里相互交流,讨论 ...

  8. touches获得手指点击的坐标

    -(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { UITouch *touch = [touches anyObjec ...

  9. webstorage调查资料汇总

    在调查webstorage的过程中,一步一步了解了各种缓存或存储机制,local storage本地存储,application cache离线应用存储,http cache是http本身自带的缓存机 ...

  10. Ajax学习(三)——XMLHttpRequest对象的五步使使用方法

        Ajax的核心技术是XMLHttpRequest对象,它能够在不向server提交整个页面的情况下.实现局部更新网页.通过这个对象,Ajax能够像桌面应用程序那样仅仅与server进行数据层的 ...