Webpack2入门
来源:互联网 发布:cryengine3 编程语言 编辑:程序博客网 时间:2024/05/16 06:56
Webpack2入门
介绍
webpack 是一个 JavaScript 应用程序模块打包器(module bundler)。webpack 通过快速建立应用程序依赖图表并以正确的顺序打包它们来简化你的工作流。你能够针对你的代码来对 webpack 进行自定义的优化配置,比如为生产环境拆分 vendor/css/js 代码,无刷新热重载(hot-reload)等.
Webpack可以做什么
- 处理module依赖关系
- 打包js,css和png等
- 降低页面初始加载时间
- 方便组合第三方组件库
- 可以转换不同语法成标准语法
安装
这里使用的是 webpack 2.4.1 版本。
# 全局安装npm install -g webpack#本地安装npm install --save-dev webpack
一个小例子
创建应用并安装必要的依赖库
$ mkdir webpack-demo$ cd webpack-demo$ npm init -y$ npm install --save-dev webpack$ npm install --save-dev css-loader$ npm install --save-dev style-loader$ npm install --save-dev extract-text-webpack-plugin$ npm install webpack-dev-server
入口 (index.js)
import './style.css';content = require("./content.js")var element = document.createElement('message');element.innerHTML = content;document.body.appendChild(element);
自定义模块 (content.js)
module.exports = "It works from content.js!!!";
css (style.css)
body { background: grey;}
html页面 (index.html)
<html> <head> <meta charset="utf-8"> </head> <body> <script type="text/javascript" src="bundle.js" charset="utf-8"></script> </body></html>
webpack配置
module.exports = { entry: "./index.js", output: { path: __dirname, filename: "bundle.js" }, module: { rules: [{ test: /\.css$/, use: [ 'style-loader', 'css-loader' ] }] }};
打包生成 bundle.js文件
$ webpackHash: 62f1078175b4dbbd7d46Version: webpack 2.4.1Time: 368ms Asset Size Chunks Chunk Namesbundle.js 19.1 kB 0 [emitted] main [0] ./content.js 48 bytes {0} [built] [1] ./style.css 992 bytes {0} [built] [2] ./index.js 171 bytes {0} [built] [3] ./~/css-loader!./style.css 192 bytes {0} [built] [4] ./~/css-loader/lib/css-base.js 2.26 kB {0} [built] [5] ./~/style-loader/addStyles.js 9.15 kB {0} [built] [6] ./~/style-loader/fixUrls.js 3.01 kB {0} [built]
运行后可以看到生成一个 bundle.js 文件,其中包含了所有js和css。
在浏览器直接访问 index.html 文件查看结果。
热部署
本地热部署
- 第一步:启动 webpack
shell
$ webpack --watch - 第二步:修改代码
- 第三部:浏览器刷新(访问file:///…/index.html)
服务器热部署
- 第一步:启动 webpack-dev-server
shell
$ webpack-dev-server - 第二步:修改代码
- 第三步:浏览器刷新(访问http://localhost:8000)
0 0
- Webpack2入门
- webpack2.+入门概念
- webpack2入门例子001
- 入门webpack2,二次整理
- webpack2 基础入门详解
- webpack2学习笔记<入门级>
- webpack2
- webpack2
- Webpack2 入门踩坑教程(一)
- Webpack2 入门踩坑教程(二)
- Webpack2 入门踩坑教程(三)
- Webpack2 入门踩坑教程(四)
- Webpack2 入门踩坑教程(五)
- webpack2 基础入门详解(二)
- Webpack2 起步
- webpack2.0
- Webpack2 notes
- WebPack2配置随记
- XML知识
- 什么是指针函数?什么是函数指针?回答并举例
- android面试题-人事面试宝典二
- 二分查找(源码)
- tensorflow 笔记(0)
- Webpack2入门
- 学习笔记(C基础+进阶)
- Android系统服务注册
- RN的前生后世
- Windows编程_Lesson004_Windows I/O操作
- word2010插入参考文献
- Effective C++读书笔记四
- ReactNative清空购物车-学习笔记
- JSX和组件的概念