Browse Source

增加自动生成版本

lilei 3 years ago
parent
commit
789058d8fc
4 changed files with 27 additions and 5 deletions
  1. 6 0
      package-lock.json
  2. 2 1
      package.json
  3. 3 2
      public/version.json
  4. 16 2
      vue.config.js

+ 6 - 0
package-lock.json

@@ -17373,6 +17373,12 @@
       "integrity": "sha512-nCxEZUXfI+DYrdI05wGrKAuO24weIzpn2Emwssm8Yzlw0Q1i1C8xTdFaf8dz60OVgpxy8oPMlfo4pR7UvxLPCQ==",
       "dev": true
     },
+    "webpack-version-plugin": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/webpack-version-plugin/-/webpack-version-plugin-2.0.3.tgz",
+      "integrity": "sha512-sjM2spMYLSK7tTZ0v0sW6UlazJGWeoS4vOYTFMY+GFJiJ9Dv573Ueg94IYffsTLq0g3zgC29v0NHJgkkSemofA==",
+      "dev": true
+    },
     "websocket-driver": {
       "version": "0.7.3",
       "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz",

+ 2 - 1
package.json

@@ -71,7 +71,8 @@
     "vue-svg-icon-loader": "^2.1.1",
     "vue-template-compiler": "^2.6.10",
     "webpack-bundle-analyzer": "^4.5.0",
-    "webpack-theme-color-replacer": "^1.2.17"
+    "webpack-theme-color-replacer": "^1.2.17",
+    "webpack-version-plugin": "^2.0.3"
   },
   "eslintConfig": {
     "root": true,

+ 3 - 2
public/version.json

@@ -1,4 +1,5 @@
 {
-    "version": "1.1.7",
-    "message": "发现有新版本发布,确定更新系统?"
+  "message": "发现有新版本发布,确定更新系统?",
+  "vendorJsVersion": "767e2c64d1208e06c8810bea26c29ab6",
+  "version": "e191d73ff94f5a18a269f7dcb2398ad3"
 }

+ 16 - 2
vue.config.js

@@ -1,3 +1,4 @@
+const fs = require('fs');
 const path = require('path')
 const webpack = require('webpack')
 const createThemeColorReplacerPlugin = require('./config/plugin.config')
@@ -5,6 +6,9 @@ const createThemeColorReplacerPlugin = require('./config/plugin.config')
 const compressionWebpackPlugin = require('compression-webpack-plugin');
 // js,css 压缩
 const TerserPlugin = require('terser-webpack-plugin');
+// 版本自动生成
+const WebpackVersionPlugin = require('webpack-version-plugin');
+const versionConfig = require(resolve('public/version.json'));
 
 function resolve (dir) {
   return path.join(__dirname, dir)
@@ -89,7 +93,17 @@ const vueConfig = {
           threshold: 10240,
           //只有压缩率小于这个值的资源才会被处理。默认值是 0.8。
           minRatio: 0.8
-        })
+        }),
+      new WebpackVersionPlugin({
+        // You must set the cb option
+        cb: function(hashMap) {
+          if(isProd()){
+            console.log(hashMap);
+            versionConfig.version = hashMap.app.chunkHash;
+            fs.writeFileSync(resolve('public/version.json'), JSON.stringify(versionConfig, null, 2)); 
+          }
+        }
+      })
     ],
     // if prod is on, add externals
     externals: isProd() ? prodExternals : {}
@@ -198,7 +212,7 @@ const vueConfig = {
     // If you want to turn on the proxy, please remove the mockjs /src/main.jsL11
     proxy: {
       '/api': {
-        target: 'http://192.168.16.151/qpls-md',
+        target: 'http://192.168.16.156:8076/qpls-md',
         // target: 'http://p.iscm.360arrow.com/qpls-md',
         // ws: false,
         ws: true,