const path = require("path");
const ExtractTextPlugin = require("extract-text-webpack-plugin"); //提取css插件
const HtmlWebpackPlugin = require("html-webpack-plugin"); //自动生成html插件
// 导入清除插件
const { CleanWebpackPlugin } = require("clean-webpack-plugin");
module.exports = {
entry: "./src/index.js", //入口
devtool: "source-map", //可以精确找到错误
devServer: {
port: 8080, // 默认端口是8080 开发服务器
},
output: { //输出
filename: "bundele.js",
path: path.resolve(__dirname, "dist"),
},
module: {
rules: [
// {
// test: /\.css$/, // 匹配css扩展名文件
// use: [
// // 配置loader加载器
// "style-loader", // 把css代码写入到网页中
// "css-loader", // 读取css的代码
// ],
// },
// {
// test: /\.less$/,
// use: ["style-loader", "css-loader", "less-loader"], // compiles Less to CSS
// },
{
test: /\.css$/,
use: ExtractTextPlugin.extract({
// 提取css
fallback: "style-loader",
use: ["css-loader"],
}),
},
{
test: /\.less$/,
use: ExtractTextPlugin.extract({
// 提取less
fallback: "style-loader",
use: ["css-loader", "less-loader"],
}),
},
{
test: /\.(png|svg|jpg|gif)$/, // 匹配图片文件
use: [
{
loader: "file-loader", // 处理图片文件返回链接
options: {
publicPath: "./images/", // 引入图片时会在路径前面加上该选项
outputPath: "images", // 输出到dist下的images目录
},
},
],
},
],
},
plugins: [
new ExtractTextPlugin("style/style.css"), // 提取到dist的style文件夹中
// 调用清除打包目录插件
// new CleanWebpackPlugin(),
new HtmlWebpackPlugin({
template: "public/index.html", // template指定默认html模板
}),
],
};
webpack.config.js
最新推荐文章于 2023-09-18 17:41:21 发布