一、准备工作
1、
npm install webpack -g
(安装全局)或者 先npm init -y
初始化包记录文件,然后npm install webpack -D
(这个是安装到项目目录)2、准备入口文件,然后在项目根文件夹内,建立
webpack-config.js
文件。之后一些对于webpack
的配置都会基于这个文件。
二、配置阶段。
(1)配置 webpack
基础设置
在
webpack-config.js
写以下代码。webpack使用加载器的顺序是从右向左
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22//1. 导入路径模块
let path = require("path")
//2. 配置webpack各项设置
module.exports = {
// 3. 入口文件(绝对路径)
entry: path.join(__dirname,'./src/main.js'),
// 4. 输出文件
output: {
// 2.1 path是用来配置输出文件的路径(一般是使用绝对路径)
path: path.join(__dirname,'dist'),
// 2.2 filename是用来指定输出文件的名称
filename: 'build.js'
},
// 配置所有的加载器
module:{
// rules数组是用来存放所有加载器的配置规则
rules:[
{
test:/\.css$/, // test是一个正则,用来匹配需要解析的文件
use:["style-loader","css-loader"] // user用于存放解析文件的加载器
}]
}
- 配置好了之后,就可以在终端cmd上,运行
webpack
指令,这样就会在指定目录下,多一个 打包文件,这个时候,就可以将打包文件之后的那个文件引入目标HTML
文件内。*注意:引入文件内路径要是从项目根路径其,一般为/bulid.js
*
(2)项目常用配置
1、webpack-dev-server
这个可以将我们文件以服务器的形式打开,同时监听所有文件的变化然后自动执行
webpack
编译命令以及自动刷新浏览器
配置如下↓↓↓↓
npm i webpack-dev-server webpack --save-dev
进行局部安装webpack-dev-server
和webpack
安装完之后,在 package.json 文件内,进行如下配置
1
2
3
4
5
6
7
8"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"dev":"webpack-dev-server --inline --hot --open --port 9999";
//其中 --inline:刷新浏览器; --hot: 热更新,可以局部更新文件
// --open: 自动打开浏览器 ; --port: 配置端口号
},- 运行服务器,使用
npm run dev
- 运行服务器,使用
2、less/scss/css
等文件解析打包
解析
less
,需要安装npm install less less-loader -D
解析
css
,需要安装npm install style-loader css-loader
解析
scss
,需要安装npm install node-sass sass-loader -D
这些解析文件配置如下:
1 | module:{ |
3、url-loader
处理图片等静态资源
解析处理项目中引入的图片、字体图标、音视频等资源文件
安装,使用
npm install file-loader url-loader -D
1 | module:{ |
4、html-webpack-plugin
可以根据指定的HTML模板文件生成一个HTML页面,并且在HTML页面中自动引入打包好的js文件
安装:
npm i html-webpack-plugin -D
1 | //1、要想使用 html-webpack-plugin 就需要先导入该模块。 |
5、在 Vue
中使用 webpack
起先,我不了解为什么,Vue框架为何要使用webpack,毕竟Vue框架已经很强大了,但是后来查了一些资料了解到,用webpack是为了是Vue开发更适合组件化。这样在使用Vue的时候,就不需要每一个页面都引入,只需要一个入口文件。然后依靠依存关系,这样,就可以当做一个文件,一个组件式开发。
(1)、使用 webpack中的 Vue 加载器
安装使用:
npm install vue -s
(Vue线上环境也需要) 以及npm install vue-loader vue-template-compiler -D
(只是生产环境需要到编译)
(2)、在 webpack-config.js
配置如下:
1 | module:{ |
(3)、使用:新建app.vue组件
1 | <template> |
(4)、在 main.js
入口文件引入创建的 app.vue
组件,渲染出Vue组件
注意:这里引入文件的方式与之前引入文件不同↓↓↓↓↓
1 | import Vue from "vue" //导入Vue的包 |
由于Vue是不支持低端浏览器,用的语法很多是ES6,所以存在很多兼容性问题,所以需要用一个编译器将我们写的ES6语法编译成ES5或者更低。
6. 在webpack中使用js加载器
1 | module.exports = { |
安装上面的配置之后,webpack在内部会去找js写法对照表,会将ES6的写法,转换成ES5或者ES3,那个对照表一般是我们指定
告诉webpack是哪种对照表
- 新建一个文件名为
.babelrc
文件
配置如下
{
presets:["env"], //这个是告诉 webpack 使用env 这个对照表
plugin:["transform-runtime"]
}
评论加载中