停车场项目web, 互联网仓库, 开发完成后, 需要将代码回传云桌面.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

93 lines
2.3 KiB

const path = require("path")
const HtmlWebpackPlugin = require("html-webpack-plugin")
const ProgressBarPlugin = require("progress-bar-webpack-plugin")
const { CleanWebpackPlugin } = require("clean-webpack-plugin")
const isDevelopment = process.env.NODE_ENV === "development"
// 清理缓存,避免本地缓存越来越大
if (isDevelopment) {
const cachePath = path.resolve(__dirname,"../node_modules/.cache")
new CleanWebpackPlugin().removeFiles([cachePath])
}
const outputPath = (function () {
return path.resolve(__dirname, "../dist")
})()
let commonConfig = {
target: ["web", "es5"],
entry: {
index: path.resolve(__dirname, "../src/index.jsx")
},
output: {
filename: "static/js/[name]_[chunkhash:4].js",
path: outputPath,
clean: true,
},
cache: {
type: "filesystem",
},
resolve: {
alias: {
"@": path.resolve(__dirname, "../src"),
},
extensions: [".jsx", ".js", ".json"],
symlinks: false,
},
module: {
rules: [
{
test: /\.jsx?$/,
use: {
loader: "babel-loader",
},
include: [path.resolve(__dirname, "../src")],
exclude: /node_modules/,
},
{
test: /\.css$/,
include: [
path.resolve(__dirname, "../src"),
path.resolve(__dirname, "../node_modules/leaflet"),
],
use: ["style-loader", "css-loader", "postcss-loader"],
},
{
test: /\.scss$/,
include: [path.resolve(__dirname, "../src")],
use: ["style-loader", "css-loader", "postcss-loader", "sass-loader"],
},
{
test: /\.(png|jpe?g|gif|bmp|svg)$/,
include: [
path.resolve(__dirname, "../src"),
path.resolve(__dirname, "../node_modules/leaflet"),
],
type: "asset",
generator: {
filename: "static/images/[name]_[hash].[ext]",
},
},
{
test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
include: [path.resolve(__dirname, "../src")],
type: "asset",
generator: {
filename: "static/fonts/[name]_[hash].[ext]",
},
},
],
},
plugins: [
new HtmlWebpackPlugin({
template: path.resolve(__dirname, "../public/index.html"),
chunks: ["index"],
baseApi: isDevelopment ? "/PMS" : "/PMS",
}),
new ProgressBarPlugin(),
],
}
module.exports = commonConfig