最近开始学习webpack,简单来说,webpack是一个打包工具。
webpack分为5大部分:
1.entry ,入口,简而言之,这是配置您的项目的打包入口的
2.output,这是配置打包的输出路径的
3.module,里面配置一些loader,比如css-loader,因为webpack只能识别js跟JSON
4.plugins,里面配置一些插件,比如HtmlWebpackPlugin,扩展项目的功能
5.mode,设置模式
实操记录:
1.在系统新建一个文件夹,然后用VSCODE打开项目
2.然后打开终端,输入npm init,因为webpack是基于node的,所以还没安装的话可以百度一下,傻瓜式操作,比较简单
3.npm init 之后会生成一个package.json,关于node的配置以及安装的包都在这里了
4.需要安装webpack webpack-cli.;npm i webpack webpack-cli -D
5.在package.json下新建一个webpack.config.js,这里就可以配置我刚刚列的5个要素了
6.命令 webpack --config webpack.config.js 即可运行
下面贴上基本的一个配置范例
const minicss = require('mini-css-extract-plugin')
const HtmlwebpackPlugin = require('html-webpack-plugin')
const happypack = require('happypack')
const optcss = require('optimize-css-assets-webpack-plugin')
const path = require('path')
process.env.NODE_ENV = 'production'
module.exports={
entry:"./src/index.js",
output:{
filename:'built.js',
path:__dirname + "/build"
},
module:{
rules:[
{
oneOf:[
{
test:/\.js$/,
use:[
'happypack/loader?id=babel',
{
loader:"thread-loader",
options:{
workers:3
}
}
],
include:['/src/'],
exclude:"/node_modules/"
},
{
test:/\.css$/,
use:[
minicss.loader,
'css-loader',
{
loader:"thread-loader",
options:{
workers:3
}
}
]
},
{
test:/\.less$/,
use:[
minicss.loader,
'css-loader',
'less-loader'
]
}
]
}
]
},
plugins:[
new minicss({
filename:'../src/static/css/test.css'
}),
new HtmlwebpackPlugin({
template:'./index.html',
minify:{
collapseInlineTagWhitespace:true,
removeComments:true
}
}),
new optcss(),
new happypack({
id:"babel",
loaders:['babel-loader?cacheDirectory'],
threads:5
}
)
],
mode:"development",
devServer:{
port:3000,
compress:true,
hot:true
},
// 开发环境
devtool:'inline-source-map'
// 生产环境,调试方便或者速度
// hidden-sourec-map 隐藏源码
// devtool:'source-map'/cheap-module-source-map
}
这是这两天的收获,好好学习,天天向上。一切付出都会有收获
浙公网安备 33010602011771号