修改输出资源的名称和路径
1.配置
const path = require("path");
module.exports = {
//入口
entry: "./src/main.js", //相对路径
//输出
output: {
//文件的输出路径
//__dirname nodejs的变量,代表当前文件的文件夹目录
path: path.resolve(__dirname, "dist"), //相对路径
//文件名
filename: "static/js/main.js",
},
//加载器
module: {
rules: [
{
// 用来匹配 .css 结尾的文件
test: /\.css$/,
// use 数组里面 Loader 执行顺序是从右到左
use: ["style-loader", "css-loader"],
},
{
test: /\.less$/,
//loader 只能使用一个 loader
use: [
// compiles Less to CSS
"style-loader",
"css-loader",
"less-loader",
],
},
{
test: /\.s[ac]ss$/i,
use: [
// 将 JS 字符串生成为 style 节点
"style-loader",
// 将 CSS 转化成 CommonJS 模块
"css-loader",
// 将 Sass 编译成 CSS
"sass-loader",
],
},
{
test: /\.styl$/,
use: [
"style-loader",
"css-loader",
"stylus-loader", // 将stylus编译成css文件
],
},
{
test: /\.(png|jpe?g|gif|webp)$/,
type: "asset",
parser: {
//小于10kb的图片转base64
//优点:减少请求数量 缺点:体积会更大
dataUrlCondition: {
maxSize: 10 * 1024, // 10kb
},
},
generator: {
//输出图片名称
//[hash:10] hash 取前10位
filename: "static/images/[hash:10][ext][query]",
},
},
],
},
//插件
plugins: [
//plugin的配置
],
//模式
mode: "development",
};
2.修改 index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<div>Hello World Webpack</div>
<div class="box1"></div>
<div class="box2"></div>
<div class="box3"></div>
<div class="box4"></div>
<div class="box5"></div>
<script src="../dist/static/js/main.js"></script>
</body>
</html>
3.运行指令
npx webpack
- 此时输出文件目录
(注意需要将上次打包的文件清空,再重新打包才有效果)
├── dist
└── static
├── imgs
│ └── 7003350e.png
└── js
└── main.js