dedsudiyu 1 year ago
parent
commit
4e12dac809
2 changed files with 23 additions and 2 deletions
  1. 3 0
      public/index.html
  2. 20 2
      vue.config.js

+ 3 - 0
public/index.html

@@ -7,6 +7,9 @@
     <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
     <link rel="icon" href="<%= BASE_URL %>favicon.ico">
     <title><%= webpackConfig.name %></title>
+    <!-- <%= htmlWebpackPlugin.options.buildUser %> -->
+    <!-- <%= htmlWebpackPlugin.options.buildTime %> -->
+    <!-- <%= htmlWebpackPlugin.options.buildEdition %> -->
     <!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]-->
 	  <style>
     html,

+ 20 - 2
vue.config.js

@@ -1,6 +1,17 @@
 'use strict'
 const path = require('path')
 
+// 获取git版本信息
+const fs = require("fs")
+const gitHEAD = fs.readFileSync('.git/HEAD', 'utf-8').trim()
+const ref = gitHEAD.split(': ')[1]
+const develop = gitHEAD.split('/')[2]
+const gitVersion = fs.readFileSync('.git/' + ref, 'utf-8').trim()
+const buildEdition = develop + ': ' + gitVersion
+const myDate = new Date();
+const buildTime = myDate.getFullYear() +'-'+ (myDate.getMonth()+1) +'-'+ myDate.getDate() +' '+ myDate.getHours() +':'+ myDate.getMinutes();
+const buildUser = fs.readFileSync('.git/logs/HEAD', 'utf-8').match(/<(\S*)>/)[1].match(/\+(\S*)@/)[1]
+
 function resolve(dir) {
   return path.join(__dirname, dir)
 }
@@ -105,9 +116,16 @@ module.exports = {
     config
       .when(process.env.NODE_ENV !== 'development',
         config => {
-          //修改打包切片输出名称
+		  //修改打包切片输出名称
           config.output.filename('static/js/[name][chunkhash:8].js');
-          config.output.chunkFilename('static/js/[name]-[chunkhash:8].js');
+          config.output.chunkFilename('static/js/[name]-[chunkhash:8].js');          //标记打包时间与当前git版本信息
+          config.plugin('html').tap(args => {
+            args[0].buildUser = buildUser;
+            args[0].buildTime = buildTime;
+            args[0].buildEdition = buildEdition;
+            args[0].minify.removeComments = false;
+            return args
+          })
           config
             .plugin('ScriptExtHtmlWebpackPlugin')
             .after('html')