193 lines
22 KiB
JavaScript
193 lines
22 KiB
JavaScript
|
// vite.config.js
|
||
|
import { defineConfig, loadEnv } from "file:///C:/Users/%E5%86%B0%E5%93%A5%E5%93%A5%E7%9A%84%E7%94%B5%E8%84%91/Desktop/xysale/node_modules/vite/dist/node/index.js";
|
||
|
import vue from "file:///C:/Users/%E5%86%B0%E5%93%A5%E5%93%A5%E7%9A%84%E7%94%B5%E8%84%91/Desktop/xysale/node_modules/@vitejs/plugin-vue/dist/index.mjs";
|
||
|
import AutoImport from "file:///C:/Users/%E5%86%B0%E5%93%A5%E5%93%A5%E7%9A%84%E7%94%B5%E8%84%91/Desktop/xysale/node_modules/unplugin-auto-import/dist/vite.js";
|
||
|
import Components from "file:///C:/Users/%E5%86%B0%E5%93%A5%E5%93%A5%E7%9A%84%E7%94%B5%E8%84%91/Desktop/xysale/node_modules/unplugin-vue-components/dist/vite.js";
|
||
|
import { ElementPlusResolver } from "file:///C:/Users/%E5%86%B0%E5%93%A5%E5%93%A5%E7%9A%84%E7%94%B5%E8%84%91/Desktop/xysale/node_modules/unplugin-vue-components/dist/resolvers.js";
|
||
|
import path from "path";
|
||
|
import { VxeTableResolver } from "file:///C:/Users/%E5%86%B0%E5%93%A5%E5%93%A5%E7%9A%84%E7%94%B5%E8%84%91/Desktop/xysale/node_modules/@vxecli/import-unplugin-vue-components/dist/index.mjs";
|
||
|
import CssMinimizerPlugin from "file:///C:/Users/%E5%86%B0%E5%93%A5%E5%93%A5%E7%9A%84%E7%94%B5%E8%84%91/Desktop/xysale/node_modules/css-minimizer-webpack-plugin/dist/index.js";
|
||
|
import TerserPlugin from "file:///C:/Users/%E5%86%B0%E5%93%A5%E5%93%A5%E7%9A%84%E7%94%B5%E8%84%91/Desktop/xysale/node_modules/terser-webpack-plugin/dist/index.js";
|
||
|
var __vite_injected_original_dirname = "C:\\Users\\\u51B0\u54E5\u54E5\u7684\u7535\u8111\\Desktop\\xysale";
|
||
|
var name = "\u7231\u679C\u6218\u58D5\u6258\u7BA1\u7CFB\u7EDF";
|
||
|
var port = process.env.port || process.env.npm_config_port || 80;
|
||
|
var vite_config_default = defineConfig((command, mode) => {
|
||
|
const env = loadEnv(mode, __vite_injected_original_dirname);
|
||
|
return {
|
||
|
publicPath: "./",
|
||
|
outputDir: "dist",
|
||
|
assetsDir: "static",
|
||
|
lintOnSave: env.VITE_MODE === "development",
|
||
|
//lintOnSave: false,
|
||
|
productionSourceMap: false,
|
||
|
plugins: [
|
||
|
vue(),
|
||
|
AutoImport({
|
||
|
resolvers: [ElementPlusResolver(), VxeTableResolver()]
|
||
|
}),
|
||
|
Components({
|
||
|
resolvers: [ElementPlusResolver(), VxeTableResolver()]
|
||
|
})
|
||
|
],
|
||
|
define: {
|
||
|
"process.env": {
|
||
|
VITE_APP_BASE_API: "JSON.stringify(env.VUE_APP_BASE_API)",
|
||
|
VITE_APP_BASE_SITE: "JSON.stringify(env.VITE_APP_BASE_SITE)"
|
||
|
}
|
||
|
},
|
||
|
server: {
|
||
|
port,
|
||
|
open: true,
|
||
|
hot: true,
|
||
|
overlay: {
|
||
|
warnings: false,
|
||
|
errors: true
|
||
|
},
|
||
|
host: "0.0.0.0",
|
||
|
proxy: {
|
||
|
[process.env.VUE_APP_BASE_API]: {
|
||
|
//这里是公共部分,在调用接口时后面接不相同的部分
|
||
|
target: process.env.VUE_APP_BASE_API,
|
||
|
//修改后台接口地址
|
||
|
changeOrigin: true,
|
||
|
//开启跨域
|
||
|
pathRewrite: {
|
||
|
//重命名
|
||
|
["^" + process.env.VUE_APP_BASE_API]: ""
|
||
|
}
|
||
|
},
|
||
|
"^/api": {
|
||
|
target: "http://dev-erp-api.xtkj99.com:7890",
|
||
|
changeOrigin: true
|
||
|
}
|
||
|
},
|
||
|
disableHostCheck: true
|
||
|
},
|
||
|
resolve: {
|
||
|
// 设置路径别名
|
||
|
alias: {
|
||
|
"@": path.join(__vite_injected_original_dirname, "/src"),
|
||
|
"@services": path.join(__vite_injected_original_dirname, "/src/services"),
|
||
|
"@axioshooks": path.join(__vite_injected_original_dirname, "/src/services/axioshooks"),
|
||
|
"@assets": path.join(__vite_injected_original_dirname, "/src/assets"),
|
||
|
"@components": path.join(__vite_injected_original_dirname, "/src/components"),
|
||
|
"@api": path.join(__vite_injected_original_dirname, "/src/services/api"),
|
||
|
"@untils": path.join(__vite_injected_original_dirname, "/src/untils")
|
||
|
}
|
||
|
},
|
||
|
css: {
|
||
|
// 是否使用css分离插件 ExtractTextPlugin
|
||
|
extract: {
|
||
|
filename: `static/js/chunk-[hash].css`
|
||
|
}
|
||
|
},
|
||
|
configureWebpack: {
|
||
|
output: {
|
||
|
filename: `static/js/chunk-[hash].js`
|
||
|
},
|
||
|
module: {
|
||
|
rules: [
|
||
|
{
|
||
|
test: /\.js$/,
|
||
|
include: path.resolve(__vite_injected_original_dirname, "../src"),
|
||
|
exclude: /node_modules/,
|
||
|
use: [
|
||
|
"cache-loader",
|
||
|
{
|
||
|
loader: "thread-loader",
|
||
|
options: {
|
||
|
workers: 2
|
||
|
}
|
||
|
},
|
||
|
"bable-loader"
|
||
|
]
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
},
|
||
|
// provide the app's title in webpack's name field, so that
|
||
|
// it can be accessed in index.html to inject the correct title.
|
||
|
name,
|
||
|
optimization: {
|
||
|
minimizer: [
|
||
|
// For webpack@5 you can use the `...` syntax to extend existing minimizers (i.e. `terser-webpack-plugin`), uncomment the next line
|
||
|
// `...`,
|
||
|
new CssMinimizerPlugin(),
|
||
|
new TerserPlugin({
|
||
|
terserOptions: {
|
||
|
compress: {
|
||
|
drop_console: true
|
||
|
// 生产环境自动删除console
|
||
|
}
|
||
|
}
|
||
|
})
|
||
|
]
|
||
|
},
|
||
|
chainWebpack(config) {
|
||
|
config.plugin("preload").tap(() => [
|
||
|
{
|
||
|
rel: "preload",
|
||
|
// to ignore runtime.js
|
||
|
// https://github.com/vuejs/vue-cli/blob/dev/packages/@vue/cli-service/lib/config/app.js#L171
|
||
|
fileBlacklist: [/\.map$/, /hot-update\.js$/, /runtime\..*\.js$/],
|
||
|
include: "initial"
|
||
|
}
|
||
|
]);
|
||
|
config.plugins.delete("prefetch");
|
||
|
config.module.rule("svg").exclude.add(resolve("src/icons")).end();
|
||
|
config.module.rule("icons").test(/\.svg$/).include.add(resolve("src/icons")).end().use("svg-sprite-loader").loader("svg-sprite-loader").options({
|
||
|
symbolId: `icon-[name].${Version}.[ext]`
|
||
|
}).end();
|
||
|
config.when(process.env.NODE_ENV !== "development", (config2) => {
|
||
|
config2.plugin("ScriptExtHtmlWebpackPlugin").after("html").use("script-ext-html-webpack-plugin", [
|
||
|
{
|
||
|
// `runtime` must same as runtimeChunk name. default is `runtime`
|
||
|
inline: /runtime\..*\.js$/
|
||
|
}
|
||
|
]).end();
|
||
|
config2.optimization.splitChunks({
|
||
|
chunks: "all",
|
||
|
cacheGroups: {
|
||
|
libs: {
|
||
|
name: "chunk-libs",
|
||
|
test: /[\\/]node_modules[\\/]/,
|
||
|
priority: 10,
|
||
|
chunks: "initial"
|
||
|
// only package third parties that are initially dependent
|
||
|
},
|
||
|
elementUI: {
|
||
|
name: "chunk-elementUI",
|
||
|
// split elementUI into a single package
|
||
|
priority: 20,
|
||
|
// the weight needs to be larger than libs and app or it will be packaged into libs or app
|
||
|
test: /[\\/]node_modules[\\/]_?element-ui(.*)/
|
||
|
// in order to adapt to cnpm
|
||
|
},
|
||
|
commons: {
|
||
|
name: "chunk-commons",
|
||
|
test: resolve("src/components"),
|
||
|
// can customize your rules
|
||
|
minChunks: 3,
|
||
|
// minimum common number
|
||
|
priority: 5,
|
||
|
reuseExistingChunk: true
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
config2.optimization.runtimeChunk("single");
|
||
|
config2.optimization.minimizer("terser").tap((args) => {
|
||
|
args[0].parallel = 4;
|
||
|
args[0].terserOptions.compress.warnings = true;
|
||
|
args[0].terserOptions.compress.drop_debugger = true;
|
||
|
args[0].terserOptions.compress.drop_console = true;
|
||
|
return args;
|
||
|
});
|
||
|
});
|
||
|
}
|
||
|
};
|
||
|
});
|
||
|
export {
|
||
|
vite_config_default as default
|
||
|
};
|
||
|
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcuanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJDOlxcXFxVc2Vyc1xcXFxcdTUxQjBcdTU0RTVcdTU0RTVcdTc2ODRcdTc1MzVcdTgxMTFcXFxcRGVza3RvcFxcXFx4eXNhbGVcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkM6XFxcXFVzZXJzXFxcXFx1NTFCMFx1NTRFNVx1NTRFNVx1NzY4NFx1NzUzNVx1ODExMVxcXFxEZXNrdG9wXFxcXHh5c2FsZVxcXFx2aXRlLmNvbmZpZy5qc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vQzovVXNlcnMvJUU1JTg2JUIwJUU1JTkzJUE1JUU1JTkzJUE1JUU3JTlBJTg0JUU3JTk0JUI1JUU4JTg0JTkxL0Rlc2t0b3AveHlzYWxlL3ZpdGUuY29uZmlnLmpzXCI7aW1wb3J0IHsgZGVmaW5lQ29uZmlnICxsb2FkRW52fSBmcm9tICd2aXRlJ1xyXG5pbXBvcnQgdnVlIGZyb20gJ0B2aXRlanMvcGx1Z2luLXZ1ZScgXHJcbmltcG9ydCBBdXRvSW1wb3J0IGZyb20gJ3VucGx1Z2luLWF1dG8taW1wb3J0L3ZpdGUnXHJcbmltcG9ydCBDb21wb25lbnRzIGZyb20gJ3VucGx1Z2luLXZ1ZS1jb21wb25lbnRzL3ZpdGUnIFxyXG5pbXBvcnQgeyBFbGVtZW50UGx1c1Jlc29sdmVyIH0gZnJvbSAndW5wbHVnaW4tdnVlLWNvbXBvbmVudHMvcmVzb2x2ZXJzJ1xyXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJzsgXHJcbmltcG9ydCB7IFZ4ZVRhYmxlUmVzb2x2ZXIgfSBmcm9tICdAdnhlY2xpL2ltcG9ydC11bnBsdWdpbi12dWUtY29tcG9uZW50cyc7XHJcbmltcG9ydCBDc3NNaW5pbWl6ZXJQbHVnaW4gZnJvbSBcImNzcy1taW5pbWl6ZXItd2VicGFjay1wbHVnaW5cIjtcclxuaW1wb3J0IFRlcnNlclBsdWdpbiBmcm9tIFwidGVyc2VyLXdlYnBhY2stcGx1Z2luXCI7XHJcblxyXG5jb25zdCBuYW1lID0gXCJcdTcyMzFcdTY3OUNcdTYyMThcdTU4RDVcdTYyNThcdTdCQTFcdTdDRkJcdTdFREZcIjsgLy8gcGFnZSB0aXRsZVxyXG4gIFxyXG5cclxuXHJcbmNvbnN0IHBvcnQgPSBwcm9jZXNzLmVudi5wb3J0IHx8IHByb2Nlc3MuZW52Lm5wbV9jb25maWdfcG9ydCB8fCA4MDsgLy8gZGV2IHBvcnRcclxuLy8gaHR0cHM6Ly92aXRlanMuZGV2L2NvbmZpZy9cclxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lQ29uZmlnKChjb21tYW5kLG1vZGUpPT57XHJcbiAgY29uc3QgZW52ID0gbG9hZEVudihtb2RlLCBfX2Rpcm5hbWUpOyBcclxuIFxyXG4gIHJldHVybiB7XHJcbiAgICBwdWJsaWNQYXRoOiBcIi4vXCIsXHJcbiAgICBvdXRwdXREaXI6IFwiZGlzdFwiLFxyXG4gICAgXHJcbiAgICBhc3NldHNEaXI6IFwic3RhdGljXCIsIFxyXG4gICAgbGludE9uU2F2ZTogZW52LlZJVEVfTU9ERSA9PT0gXCJkZXZlbG9wbWVudFwiLFxyXG4gICAgLy9saW50T25TYXZlOiBmYWxzZSxcclxuICAgIHByb2R1Y3Rpb25Tb3VyY2VNYXA6IGZhbHNlLFxyXG4gICAgcGx1Z2luczogWyBcclxuICAgICAgdnVlKCksIFxyXG4gICAgICBBdXRvSW1wb3J0KHtcclxuICAgICAgICByZXNvbHZlcnM6IFtFbGVtZW50UGx1c1Jlc29sdmVyKCksVnhlVGFibGVSZXNvbHZlcigpXSxcclxuICAgICAgfSksXHJcbiAgICAgIENvbXBvbmVudHMoe1xyXG4gICAgICAgIHJlc29sdmVyczogW0VsZW1lbnRQbHVzUmVzb2x2ZXIoKSxWeGVUYWJsZVJlc29sdmVyKCldLFxyXG4gICAgICB9KSwgXHJcbiAgICBdLFxyXG4gICAgZGVmaW5lOiB7IFxyXG4gICAgICAncHJvY2Vzcy5lbnYnOiB7XHJcbiAgICAgICAgVklURV9BUFBfQkFTRV9BUEk6ICdKU09OLnN0cmluZ2lmeShlbnYuVlVFX0FQUF9CQVNFX0FQSSknLFxyXG4gICAgICAgIFZJVEVfQVBQX0JBU0VfU0lURTonSlNPTi5zdHJpbmdpZnkoZW52LlZJVEVfQVBQX0JBU0VfU0lURSknXHJcbiAgICAgIH0sIFxyXG4gICAgfSxcclxuICAgIHNlcnZlcjoge1xyXG4gICAgICBwb3J0OiBwb3J0LFxyXG4gICAgICBvcGVuOiB0cnVlLFxyXG4gICAgICBob3Q6dHJ1ZSxcclxuICAgICAgb3ZlcmxheToge1xyXG4gICAgICAgIHdhcm5pbmdzOiBmYWxzZSxcclxuICAgICAgICBlcnJvcnM6IHRydWUsXHJcbiAgICAgIH0sXHJcbiAgICAgIGhvc3Q6ICcwLjAuMC4wJywgXHJcbiAgICAgIHByb3h5OiB7XHJcbiAgICAgICAgW3Byb2Nlc3MuZW52LlZVRV9BUFBfQkFTRV9BUEldOiB7XHJcbiAgICAgICAgICAvL1x1OEZEOVx1OTFDQ1x1NjYyRlx1NTE2Q1x1NTE3MVx1OTBFOFx1NTIwNlx1RkYwQ1x1NTcyOFx1OEMwM1x1NzUyOFx1NjNBNVx1NTNFM1x1NjVGNlx1NTQwRVx1OTc2Mlx1NjNBNVx1NEUwRFx1NzZGOFx1NTQwQ1x1NzY4NFx1OTBFOFx1NTIwNlxyXG4gICAgICAgICAgdGFyZ2V0OiBwcm9jZXNzLmVudi5WVUVfQVBQX0JBU0VfQVBJLCAvL1x1NEZFRVx1NjUzOVx1NTQwRVx1NTNGMFx1NjNBNVx1NTNFM1x1NTczMFx1NTc0MFxyXG4gICAgICAgICAgY2hhbmdlT3JpZ2luOiB0cnVlLCAvL1x1NUYwMFx1NTQyRlx1OERFOFx1NTdERlxyXG4gICAgICAgICAgcGF0aFJld3JpdGU6IHtcclxuICAgICAgICAgICAgLy9cdTkxQ0RcdTU0N0RcdTU0MERcclxuICAgICAgICAgICAgW1wiXlwiICsgcHJvY2Vzcy5lbnYuVlVFX0FQUF9CQVNFX0FQSV06IFwiXCIsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgJ14vYXBpJzoge1xyXG4gICAgICAgICAgdGFyZ2V0OiAnaHR0cDovL2Rldi1lcnAtYXBpLnh0a2o5OS5jb206Nzg5MCcsIFxyXG4gICAgICAgICAgY2hhbmdlT3JpZ2luOiB0cnVlXHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBkaXNhYmxlSG9zdENoZWNrOiB0cnVlLCBcclxuICAgIH0sXHJcbiAgICByZXNvbHZlOiB7XHJcbiAgICAgIC8vIFx1OEJCRVx1N0Y2RVx1OERFRlx1NUY4NFx1NTIyQlx1NTQwRFxyXG4gICAgICBhbGlhczogeyBcclxuICAgICAgICAnQCc6IHBhdGguam9pbihfX2Rpcm5hbWUsJy9zcmMnKSxcclxuICAgICAgICAnQ
|