webpack4.0入门指南(一)安装和转换es6语法
webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle。 webpack v4.0.0 开始,可以不用引入一个配置文件。
安装
1 | npm install -g webpack |
需要先全局安装你才可以使用webpack命令,然后再安装到你的项目依赖。
如果你使用 webpack 4+ 版本,你还需要安装 CLI。
新建项目
1 | mkdir webpack-demo && cd webpack-demo //创建并进入webpack-demo文件夹 |
使用默认配置去构建
1 | mkdir demo1 && cd demo1 |
index.html
1 |
|
src/index.js
1 | let a = 1; |
执行 webpack 命令。就可以看到文件被打包到dist文件夹了。打开index.html文件就会弹出1。
webpack4.0可以不用写配置文件,然而大多数项目会需要很复杂的设置,需要你自己去配置。
使用配置文件
1 | cd .. // 返回到webpack-demo文件夹 |
webpack.config.js
1 | const path = require('path'); |
在项目的demo2目录执行webpack。如下图就代表打包成功。打开demo2下面的index.html 就可以弹出我的博客地址。
使用babel转换es6语法 => es5
安装babel
在webpack-demo路径下执行命令
1 | npm install --save-dev babel-loader babel-core babel-preset-env |
把demo2复制一份命名为demo3,在src目录下再新建a.js。
src/a.js
1 | export default lanpangzhi = "blog.langpz.com"; |
src/index.js
1 | import lanpz from "./a.js"; |
webpack.config.js
1 | const path = require('path'); |
新建 .babelrc 文件
1 | touch .babelrc |
.babelrc
1 | { |
执行webpack就可以看见打包成功了。
babel-polyfill
由于 Babel 只转换语法(如箭头函数), 你可以使用 babel-polyfill 支持新的全局变量,例如 Promise 、新的原生方法如 String.padStart (left-pad) 等。
在webpack-demo路径下执行命令
1 | npm install --save babel-polyfill // 安装babel-polyfill |
在 webpack.config.js 中,将 babel-polyfill 加到你的 entry 数组中。
1 | module.exports = { |
执行webpack命令,如下图就成功了。
demo仓库地址
https://github.com/lanpangzhi/webpack-demo