具体的导入包的我就不写啦,这个文章只是简单的记录一下weboack.config.js如何去写!!!!
这是我的webpack_demo
// webpack.config.base.js
//这个文件是当我们需要使用2个webpack配置文件我们需要对model进行切换时,这是封装好的一个文件。
//一般来如果两个model都是同样的需求,我们一般在该文件修改!!
// 友情提示:注意命令行的修改哦!!!!!
const HtmlWebpackPlugin = require("html-webpack-plugin");
const path = require("path");
module.exports = {
entry: "./src/index.js",
output: {
filename: "index.[contenthash].js"
},
plugins: [
new HtmlWebpackPlugin({
title: "****",
template: "src/assets/index.html"
})
],
module: {
rules: [
{
test: /\.(png|jpe?g|gif)$/i,
use: [
{
loader: 'file-loader',
},
],
},
{
test: /\.styl$/,
loader: ["style-loader", "css-loader", "stylus-loader"]
},
{
test: /\.less$/,
loader: ["style-loader", "css-loader", "less-loader"]
},
{
test: /\.scss$/i,
use: [
"style-loader",
"css-loader",
{
loader: "sass-loader",
options: {
implementation: require("dart-sass")
}
}
]
}
]
}
};
复制代码
//webpack.config.js 这是生成的css通过style标签添加的
const HtmlWebpackPlugin = require("html-webpack-plugin");
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const path = require("path");
const base = require('./webpack.config.base.js')
module.exports = {
...base,
mode: "development",
devtool: "inline-source-map",
devServer: {
contentBase: "./dist"
},
module: {
rules: [
...base.module.rules,
{
test: /\.css$/i,
use: ["style-loader", "css-loader"]
}
]
}
};
复制代码
//webpack.config.prod.js 这是生成的css通过引入文件添加的
const HtmlWebpackPlugin = require("html-webpack-plugin");
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const path = require("path");
const base = require('./webpack.config.base.js')
module.exports = {
...base,
mode: "production",
plugins: [
...base.plugins,
new MiniCssExtractPlugin({
filename: '[name].[contenthash].css',
chunkFilename: '[id].[contenthash].css',
ignoreOrder: false, // Enable to remove warnings about conflicting order
}),
],
module: {
rules: [
...base.module.rules,
{
test: /\.css$/i,
use: [
{
loader: MiniCssExtractPlugin.loader,
options: {
publicPath: '../',
},
},
'css-loader',
],
}
]
}
};
复制代码