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文件也会主动的引入
发表回复