共计 1747 个字符,预计需要花费 5 分钟才能阅读完成。
Webpack 运行指令:
开发环境:
webpack ./src/index.js -o ./build/built.js --mode=development
生产环境:
webpack ./src/index.js -o ./build/built.js --mode=production
webpack 会以 ./src/index.js 为入口文件开始打包,打包后输入到 ./build/built.js
- webpack 能解决 js/json 资源,不能解决 css/img 等其余资源
援用- 生产环境和开发环境将 ES6 模块化编译成浏览器能辨认的模块化~
援用- 生产环境比开发环境多一个压缩 js 代码。
Webpack 打包款式资源
在 index.js 文件下引入 index.css 款式文件,间接运行 webpack 指令会报错
import './index.css'
function add(x, y) {return x + y}
console.log(add(1, 2));
通过配置 Loader 让 webpack 可能去解决那些非 JavaScript 文件
在根目录创立 webpack.config.js 配置文件
/*
webpack.config.js webpack 的配置文件
作用: 批示 webpack 干哪些活(当你运行 webpack 指令时,会加载外面的配置)*/
// resolve 用来拼接绝对路径的办法
const {resolve} = require('path');
module.exports = {
// webpack 配置
// 入口终点
entry: './src/index.js',
// 输入
output: {
// 输入文件名
filename: 'built.js',
// 输入门路
// __dirname nodejs 的变量,代表以后文件的目录绝对路径
path: resolve(__dirname, 'build')
},
// loader 的配置
module: {
rules: [
// 具体 loader 配置
{
// 通过正则表达式匹配 css 文件
test: /\.css$/,
// 应用哪些 loader 进行解决
use: [
// use 数组中 loader 执行程序:从右到左,从下到上 顺次执行
// 创立 style 标签,将 js 中的款式资源插入进行,增加到 head 中失效
'style-loader',
// 将 css 文件变成 commonjs 模块加载 js 中,外面内容是款式字符串
'css-loader'
]
},
{
test: /\.less$/,
use: [
'style-loader',
'css-loader',
// 将 less 文件编译成 css 文件
// 须要下载 less-loader 和 less
'less-loader'
]
}
]
},
// 模式
mode: 'development', // 开发模式
// mode: 'production'
}
通过 node 指令将应用到的 loader 进行装置;不同文件必须配置不同 loader 解决
npm install style-loader css-loader less-loader -D
在控制台运行 webpack 指令,显示胜利
Webpack 打包 html 资源
打包 html 资源须要通过 plugins 进行配置,首先在 src 文件下创立 index.html 文件
1. 装置 HtmlWebpackPlugin 插件npm i html-webpack-plugin -D
2. 在 webpack.config.js 文件中引入对应的插件
const HtmlWebpackPlugin = require('html-webpack-plugin');
3. 通过 plugins 进行配置
plugins: [
// plugins 的配置
// html-webpack-plugin
// 性能:默认会创立一个空的 HTML,主动引入打包输入的所有资源(JS/CSS)// 需要:须要有构造的 HTML 文件
new HtmlWebpackPlugin({
// 复制 './src/index.html' 文件,并主动引入打包输入的所有资源(JS/CSS)template: './src/index.html'
})
]
留神:在 ‘./src/index.html’ 文件中不须要在手动引入其余资源文件
运行 webpack 指令就会在 build 文件夹下生成 index.html 文件,打包后的 js 文件也会主动的引入
正文完