Webpack笔记(一):安装配置
2018-03-08 17:48
597 查看
一、局部安装介绍:
全局安装会导致不同项目中的webpack锁定到指定版本,也会导致使用不同webpack版本的项目构建失败,丧失了灵活性,因此推荐局部安装。a. 首先确保安装了Node.js的最新版本。
b. 写这篇文章的时候,webpack已经到了4.1.0版本;
c. 要安装最新版本或特定版本,请运行以下命令之一:
npm install --save-dev webpack npm install --save-dev webpack@<version>
二、构建项目:
a. 创建项目,初始化npm以及本地安装webpackmkdir webpack-test && cd webpack-test npm init -y npm install --save-dev webpackb. 创建以下项目结构
webpack-test |-package.json |-dist // 构建后(产生的代码最小化以及优化)输出的分发代码 |-index.html |-src // 用于书写和编辑的源代码 |-index.jsc. 让我们先按照之前的方法来进行编写:/src/index.js
function createComponent() { var ele = document.createElement('div'); ele.innerHTML = 'hello world'; // 此处依赖于jquery $('#root').append(ele); } createComponent();/dist/index.html
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>webpack test</title> <script src="http://code.jquery.com/jquery-2.1.1.min.js"></script> </head> <body> <div id="root"></div> <script src="../src/index.js"></script> </body> </html>打开/dist/index.html,会发现页面上出现了 "hello world" 字样。
但,此示例中script标签之间存在隐式(假设已经存在jquery全局变量)依赖,index.js的执行必须依赖jquery文件。这种JavaScript的管理方式存在一些问题:
① 如果依赖过多会导致管理混乱,缺乏灵活性;
② 如果依赖不存在或者引用顺序错误,会导致程序无法执行;
③ 如果依赖被引入但没有使用,浏览器将被迫下载无用代码;d. 使用webpack构建项目:保持项目结构不变,将文件做以下修改:
/src/index.js
// 通过显示声明依赖,webpack通过这些信息来构建依赖图 // 然后使用图去生成一个优化过的,按照正确顺序执行的bundle + import $ from 'jquery'; function createComponent() { var ele = document.createElement('div'); - ele.innerHTML = 'hello world'; + ele.innerHTML = 'hello webpack'; // 此处依赖于jquery $('#root').append(ele); } createComponent();/dist/index.html
由于通过
import来引入jquery,所以在index.html中需要将外部引入jquery的
<script>删除。而此时应用webpack的打包功能将js打包进一个输出文件bundle.js,因此需要做如下修改:
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>webpack test</title> - <script src="http://code.jquery.com/jquery-2.1.1.min.js"></script> </head> <body> <div id="root"></div> - <script src="../src/index.js"></script> + <script src="bundle.js"></script> </body> </html>然后执行CLI命令:
.\node_modules\.bin\webpack [entry] [output]在项目的根目录下打开命令行工具,然后键入:
.\node_modules\.bin\webpack src/index.js dist/bundle.js如果看到类似如下信息,即为构建成功
Asset Size Chunks Chunk Names bundle.js 275 kB 0 [emitted] [big] main [0] ./src/index.js 201 bytes {0} [built] + 1 hidden module此时再打开/dist/index.html目录即可看到 "hello webpack" 字样e. 使用一个配置文件:大多数项目会有一个很复杂的配置,在命令行里输入大量配置并不是一个很好的选择,因此需要一个配置文件。
在项目的根目录下增加一个webpack.config.js:
webpack-test |-package.json + |-webpack.config.js |-dist // 构建后(产生的代码最小化以及优化)输出的分发代码 |-index.html |-src // 用于书写和编辑的源代码 |-index.jswebpack.config.js
const path = require('path'); module.exports = { entry: './src/index.js', // 入口文件 output: { filename: 'bundle.js', // 输出文件名 path: path.resolve(__dirname, 'dist') // 输出到dist目录下 } }然后在命令行内执行如下命令:
.\node_modules\.bin\webpack如果看到跟之前类似的构建信息即为构建成功。
注意:webpack在这里默认使用了webpack.config.js,如果你不想使用它,可以在命令行内向它传递名称参数:
.\node_modules\.bin\webpack --config [configName]f. 使用NPM脚本:使用npm脚本(npm script)可以一次执行一个或多个webpack命令。
在项目根目录下的package.json中添加:
{ ... "script": { "build": "webpack" }, ... }现在,在命令行中键入
npm run build即可代替之前的
.\node_modules\.bin\webpack命令。传递参数的方式与后者一样。
相关文章推荐
- (笔记)webpack安装、配置、简单的项目打包、插件介绍
- 用 KVM 搭建web集群实验笔记 - 安装Nginx 和配置Web服务
- WebPack安装-使用-Loader-配置-插件-环境-排错详解(下扩展)
- webpack的安装与环境配置
- 用 KVM 搭建web集群实验笔记 - nagios 安装配置
- oracle数据库配置、安装、部署web应用——笔记
- webpack安装与基本配置
- webpack 配置学习笔记
- extract-text-webpack-plugin 的安装及配置
- webpack安装及基础配置
- webpack安装配置
- vue学习笔记-----vue+webpack初始化项目(vue1.0的安装)
- webpack 配置学习笔记
- webpack和webpack-dev-server安装配置(遇到各种问题的解决方法)
- webpack安装配置使用教程详解
- ZK框架笔记2、ZK框架安装、相关类库、web及zk配置
- Python Web 开发 学习笔记1 安装配置 python+django
- React系列学习笔记:1.React与webpack基本配置
- vue + webpack 安装和配置
- WebPack安装-使用-Loader-配置-插件-环境-排错详解(下)