提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、webpack打包定义全局常量
- 二、将全局常量设置为当前时间
- 三、在console中输出BUILDTIME
前言
大家都是做项目研发的,“打包”、“提测”、“发版”,这些都是开发人员会参与的流程。 通常情况,我们是根据软件的版本号进行区分程序包的。但是,有时我们进行内部测试,或是发布“调试包”,开发人员有时并不会每次都修改版本号(毕竟,修改版本号是人为操作,人为操作必然会有操作失误的情况)。如何在打包的时候,将打包的时间直接设置到程序中,在后续排查问题时,便能通过打包时间大概判断出该程序包是否是最新的版本。
其实,总体的思路很简单:就是在打包编译时,将当前时间作为全局常量设置进去。在适当的时机,通过console打印全局常量。
一、webpack打包定义全局常量
这里使用的是webpack插件,设置也非常的简单,直接在webpack.common.config.js 和 webpack.config.js
中加入如下代码:
const webpack = require('webpack');
const config = require('./config');
module.exports = {
.....
plugins: [
......,
new webpack.DefinePlugin({
BUILDTIME: config.buildTime
})
]
}
二、将全局常量设置为当前时间
config文件夹下index.js 中的内容如下:
重点关注:
buildTime = new Date().toLocaleString(),
buildTime:"${buildTime}"
'use strict';
const packageConfig = require('../package'),
upperCamelCase = require('uppercamelcase'),
fileName = packageConfig.name,
buildTime = new Date().toLocaleString(),
libraryName = upperCamelCase(fileName);
module.exports = {
library: libraryName,
commonFileName: `${fileName}.common.js`,
fileName: `${fileName}.js`,
buildTime: `"${buildTime}"`
};
这里在exports时,一定要对buildTime使用双引号引用,否则,打包过程中就会报错:
三、在console中输出BUILDTIME
console.log("JS打包时间", BUILDTIME);//无需任何引用