|
@@ -6,8 +6,11 @@ const proxy = {
|
|
|
};
|
|
|
|
|
|
var webpack = require("webpack");
|
|
|
-/** @type {import("@vue/cli-service").ProjectOptions} */
|
|
|
-module.exports = {
|
|
|
+var packageData = require("./package.json");
|
|
|
+var v = packageData.version;
|
|
|
+const timestamp = Date.now();
|
|
|
+
|
|
|
+let config = {
|
|
|
// 这里设置项目的路径,比如 '/admin' 。设置以后 BASE_URL就有值了。
|
|
|
// 注意这解决不了CDN的问题,CDN的问题要另行研究。
|
|
|
// 可能的方案是另设一个替代 BASE_URL 的环境变量解决 <%%= BASE_URL %%>favicon.ico 和 ${process.env.BASE_URL}service-worker.js
|
|
@@ -35,4 +38,20 @@ module.exports = {
|
|
|
productionSourceMap: false,
|
|
|
};
|
|
|
|
|
|
+if (process.env.NODE_ENV === "production") {
|
|
|
+ config.css = Object.assign(config.css || {}, {
|
|
|
+ extract: {
|
|
|
+ filename: `css/[name].${v}.${timestamp}.css`,
|
|
|
+ chunkFilename: `css/[name].${v}.${timestamp}.css`,
|
|
|
+ },
|
|
|
+ });
|
|
|
+ config.configureWebpack = Object.assign(config.configureWebpack || {}, {
|
|
|
+ output: {
|
|
|
+ filename: `js/[name].${v}.${timestamp}.js`,
|
|
|
+ chunkFilename: `js/[name].${v}.${timestamp}.js`,
|
|
|
+ },
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
+module.exports = config;
|
|
|
require("events").EventEmitter.defaultMaxListeners = 0;
|