// 简单的创建html文件,并把生成的js文件自动引入html中
var HtmlWebpackPlugin = require('html-webpack-plugin');
// 每次打包删除dist文件夹,但是为啥要这样定义啊
const { CleanWebpackPlugin } = require('clean-webpack-plugin');
// path后面的绝对路径不容易些,需要引入一个node的核心模块
const path = require('path')
module.exports = {
// 配置模式production被压缩 development不被压缩
mode:'development',
devtool:'cheap-nodule-source-map',
// 从哪个文件开始打包
entry:{
main:'./src/index.js'
},
devServer:{
// 启动一个服务器,服务器的根路径是'./dist
contentBase:"./dist",
// 自动打开浏览器,并且打开地址
open:true
},
// 打包模块时,若不知道模块该怎么打包,就在模块配置里面做文章
module:{
// 规则,带有s的都是数组格式
rules:[{
// 以jpg结尾的文件
test:/\.(jpg|png|gif)$/,
// 里面写需要使用的loader
use:{
// 使用file-loader,需要额外安装
// url-loader会把图片转化成一个base64加到页面
loader:'url-loader',
// 配置参数
options:{
// 生成文件的名字
// [原来文件的名字].[原来文件的后缀]
name:'[name].[ext]',
// 配置文件打包之后的路径
outputPath:'images/',
// 设置文件大小,若是文件大小超过这个值,就会单独打包一个图片文件,若是小于则是直接转化成base64
limit:2048
}
}
},{
test:/\.scss$/,
use:[
'style-loader',
{
loader:'css-loader',
options:{
// 引入的scss文件,在引入之前需要走两个loader,也就是下面两个
importLoaders:2,
// 开启模块化打包
// modules:true
}
},
'sass-loader',
'postcss-loader'
]
},{
// 以jpg结尾的文件
test:/\.(eot|ttf|svg)$/,
// 里面写需要使用的loader
use:{
// 使用file-loader,需要额外安装
// url-loader会把图片转化成一个base64加到页面
loader:'file-loader',
// 配置参数
options:{}
}
},
]},
// 文件存放信息
output:{
// 公共地址,可以加一个cdn的地址
publicPath:'/',
// 打包后文件的名字
filename:'dist.js',
// 打包出来的文件放到哪个文件夹下面,后面要跟一个绝对路径
path:path.resolve(__dirname,'dist')
},
// 插件安装位置
// plugins可以在webpack打包到一定时刻做一些事情,
plugins: [
new HtmlWebpackPlugin({
template:'./src/index.html'
}),
// 每次打包清理dist文件夹
new CleanWebpackPlugin()
]
}
webpack学习笔记
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 前言 (在过去)对我这种渣渣来说,在项目里面一旦配置好了webpack之后,就再也不想碰这玩意儿了,因为实在是太多...
- 在上一节中,我学到了. 使用 style-loader 搭配 css-loader less-loader st...
- 前端开发的过程中,会有很多的小图标. 一般这些小图片都是以 .png结尾的背景透明的图片. 这些小图标一般应用于一...
- 今天继续学习Webpack技术。 文章是这篇 入门Webpack,看这篇就够了 接下来是Babel。它是一个编译J...
- 今天继续上一次学习的Webpack。今天主要是自己的搭建以及实战,所以文字可能不多。 文章是这篇 入门Webpac...