Webpack介绍及入门
来源:互联网 发布:星星宠物 知乎 编辑:程序博客网 时间:2024/06/12 00:57
话不多说,先上教程网址 http://webpackdoc.com/preface.html
Webpack简介:
Webpack 是一个模块打包器。它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源。
Webpack特点:
代码拆分
Webpack 有两种组织模块依赖的方式,同步和异步。异步依赖作为分割点,形成一个新的块。在优化了依赖树后,每一个异步区块都作为一个文件被打包。
Loader
Webpack 本身只能处理原生的 JavaScript 模块,但是 loader 转换器可以将各种类型的资源转换成 JavaScript 模块。这样,任何资源都可以成为 Webpack 可以处理的模块。
智能解析
Webpack 有一个智能解析器,几乎可以处理任何第三方库,无论它们的模块形式是 CommonJS、 AMD 还是普通的 JS 文件。甚至在加载依赖的时候,允许使用动态表达式 require("./templates/" + name + ".jade")。
插件系统
Webpack 还有一个功能丰富的插件系统。大多数内容功能都是基于这个插件系统运行的,还可以开发和使用开源的 Webpack 插件,来满足各式各样的需求。
快速运行
Webpack 使用异步 I/O 和多级缓存提高运行效率,这使得 Webpack 能够以令人难以置信的速度快速增量编译。
Webpack安装:
1.安装nodejs(自行百度);
2.npm安装--全局环境下
$ npm install webpack -g
3.npm安装--项目依赖中
# 进入项目目录
# 创建package.json
$ npm init
# 安装 webpack 依赖
$ npm install webpack --save-dev
Webpack使用:
这个就是最原始的例子
1.创建一个静态页面 index.html 和一个 JS 入口文件 entry.js
<!-- index.html --><html><head> <meta charset="utf-8"></head><body> <script src="bundle.js"></script></body></html>
// entry.jsdocument.write('It works.')
2.编译 entry.js 并打包到 bundle.js $ webpack entry.js bundle.js
3.用浏览器打开 index.html 将会看到 It works.
Loader:
Webpack 本身只能处理 JavaScript 模块,如果要处理其他类型的文件,就需要使用 loader 进行转换。
Loader 可以理解为是模块和资源的转换器,它本身是一个函数,接受源文件作为参数,返回转换的结果。这样,我们就可以通过 require 来加载任何类型的模块或文件,比如 CoffeeScript、 JSX、 LESS 或图片。
在最原始的例子上增加CSS文件style.css
/* style.css */
body { background: yellow; }
修改entry.js:
require("!style!css!./style.css") // 载入 style.css
document.write('It works.')
document.write(require('./module.js'))
安装loader:
npm install css-loader style-loader
重新编译打包,即运行 $ webpack entry.js bundle.js 再刷新页面就可以看到效果了。
然后还有另一种方法,因为如果每次 require CSS 文件的时候都要写 loader 前缀(指!style!css!),是一件很繁琐的事情。我们可以根据模块类型(扩展名)来自动绑定需要的 loader。
很简单,就是将 entry.js 中的 require("!style!css!./style.css") 修改为 require("./style.css"),然后执行:
$ webpack entry.js bundle.js --module-bind "css=style!css"
就ok了。
配置文件:
Webpack 在执行的时候,除了在命令行传入参数,还可以通过指定的配置文件来执行。默认情况下,会搜索当前目录的 webpack.config.js 文件,这个文件是一个 node.js 模块,返回一个 json 格式的配置信息对象,或者通过 --config 选项来指定配置文件。
在最原始的例子上进行
创建一个配置文件 webpack.config.js
var webpack = require('webpack')
module.exports = {
entry: './entry.js',
output: {
path: __dirname,
filename: 'bundle.js'
},
module: {
loaders: [
{test: /\.css$/, loader: 'style!css'}
]
}
}
同时简化 entry.js 中的 style.css 加载方式:
require('./style.css')
运行 webpack
就打开网页就可以看到效果啦。
- Webpack介绍及入门
- Webpack介绍及入门
- webpack入门(一)——webpack 介绍
- webpack入门(一)——webpack 介绍
- webpack介绍及使用(一)
- webpack-dev-server介绍及配置
- webpack介绍
- Webpack介绍
- Webpack入门
- webpack 入门
- webpack 入门
- webpack入门
- 入门 Webpack
- WebPack入门
- 入门Webpack
- webpack 入门
- Webpack入门
- webpack入门
- HDU4508--完全背包
- js实现页面换肤
- codeforces B. Fox And Two Dots (dfs)
- POJ[1002]487-3279
- TCP/IP协议详解——邮差与邮局(2)
- Webpack介绍及入门
- 树状数组
- windows-API劫持(API-HOOK)
- iOS_内购IAP
- 利用TortoiseGit客户端来管理GitHub项目代码
- Power Designer 基础使用
- Android属性allowBackup安全风险浅析
- 一行命令搞定node.js 版本升级
- 设计模式-状态模式(State)