通过webpack配置【程序打包时间】

news2024/12/24 0:53:39

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、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);//无需任何引用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/126292.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

低代码-零代码基础教育结合场景

在此次大会上,杭州市学军小学教育集团总校长张军林受邀出席。作为将低代码与校园教学管理成功结合运用的一所数字化小学,校长张军林在会上分享了他的数智化管理思想,并发布了学军小学智慧校园系统—学军大脑2.0。 “学军大脑2.0是基于钉钉宜…

ES6-ES11笔记(2)

笔记 (https://www.bilibili.com/video/BV1uK411H7on?p30&vd_source3cf72bb393b8cc11b96c6d4bfbcbd890) 1.ES6 1.14集合介绍与API 1.14.1 set常用的api //声明一个set //set 里面的元素是唯一的,会自动去重 let s1 new Set(); //创建 //可以传入可以迭代的数据 let s…

Windows服务器调整TLS1.2加密套件

由于部分服务器默认不支持:TLS1.2加密条件,这会导致谷歌、火狐等浏览器无法访问网站,这种情况下需要调整加密条件。 支持TLS1.2协议的服务器操作系统需要:windows 2008R2 IIS7以上。 注意:微软说明windows 2003、win…

软件测试期末复习(二)试题及答案

文章目录试卷答案试卷 一、选择题(每题 2 分,共 20 分) 1、下面关于软件测试的说法,_______是错误的。 A 软件测试就是程序测试 B 软件测试贯穿于软件定义和开发的整个期间 C 需求规格说明、设计规格说明都是软件测试的对象 D 程序是软件测试的对象 2…

github工具之OA综合利用python

文章目录0x01 下载地址0x02 主要功能0x03 使用方法0x04 参数使用OA v11.6 report_bi.func.php SQL注入漏洞OA v11.6 print.php 任意文件删除漏洞,删除auth.inc.php中OA v11.8 api.ali.php 任意文件上传漏洞OA v11.8 logincheck_code.php登陆绕过漏洞免责声明0x01 下…

adb工具包环境变量配置

官方下载 Android SDK Platform-Tools 一、关于 adb Android SDK Platform-Tools 是 Android SDK 的一个组件。它包含与 Android 平台进行交互的工具,主要是 adb 和 fastboot。   adb是什么? 他的全称叫安卓调试桥,也就是Android debug bridge &…

AAAI2023 | 针对联邦推荐场景的非定向攻击与防御

嘿,记得给“机器学习与推荐算法”添加星标TLDR:今天跟大家分享一篇通过利用聚类算法来操纵物品嵌入特征以此针对联邦推荐场景进行非定向攻击的工作,随后作者针对这一攻击又提出了一种基于一致性的对应防御机制,该论文已被AAAI2023…

如何在Power BI中使用Python导入数据

在这篇文章中,我们将学习如何在Power BI中使用Python编程语言进行数据源化。 简介 Python可以说是业界最流行、最普遍的编程语言之一。一方面,Python可用于网络和应用程序开发,另一方面,它在数据世界中也非常流行,特…

生产制造业ERP管理系统能解决哪些仓库管理难题?

仓库管理够不够好,安不安全,直接关系到生产制造企业的发展。要知道制造型企业的大部分“身家”,都在仓库里了。来料是否及时,物料是否齐套,库存是否安全,配件品质是否合格,库容是否足够&#xf…

【蓝桥杯备赛系列 | 简单题】素数判断 字符串输入输出

🤵‍♂️ 个人主页: 计算机魔术师 👨‍💻 作者简介:CSDN内容合伙人,全栈领域优质创作者。 蓝桥杯竞赛专栏 | 简单题系列 (一) 作者: 计算机魔术师 版本: 1.0 &#xff08…

[leetcode.10]正则表达式匹配

(1)题目分析如下 题目要求完成一个正则表达式的匹配,其中s为目标串,p为正则串 .符号代表任何字符,*符号代表把前一个字符重复n次(可能为0次) (2)具体思路 一开始的时…

c++算法基础必刷题目——贪心

文章目录贪心1、拼数2、排座椅3、矩阵消除游戏4、华华听月月唱歌贪心 贪心算法(greedy algorithm ,又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑&a…

《图解TCP/IP》阅读笔记(第八章 8.5)—— WWW知多少?

8.5 WWW 看到这章的名字,对于日常上网冲浪的我们而言,应该是再熟悉不过了。这不就是常见网址前的那三个字母,号称万维网(WWW,World Wide Web)的东西吗? 确实,我们本篇文章就要介绍与之相关的…

Dimitra 2022: 年度回顾

大家好, 我首先要感谢 Dimitra 社区和我们所有的投资者在 2022 年期间的支持。俗话说,“这些都会过去”,2022 年的宏观加密环境尤其具有挑战性,一些非常糟糕的行为者给广泛的加密行业带来很多痛苦。 2023 年可能是监管框架最终显…

公司来了个新测试开发,一副毛头小子的样儿,哪想到......

最近公司来了个新同事,学历并不高,而且大学也不是计算机专业的,今年刚满25岁。。 本以为也是来干点基础的活混混日子的,结果没想到这个人上来就把现有项目的性能优化了一遍,直接给公司节省了不少成本,这种…

Qt通过QProcess启动进程并传递命令行参数

目录QProcess启动外部程序的两种方式依赖式分离式:启动进程前的预处理设置启动路径设置启动命令参数启动的状态更多说明Public FunctionsSignals设计一个拉起进程的程序基本设计思路效果图核心代码控件对象header file(头文件)member variabl…

java比较器

一、说明: Java中的对象,正常情况下,只能进行比较: 或 ! 。不能使用 >或 如何实现? 使用两个接口中的任何一个: Comparable 或 Comparator 二、Comparable的使用(自然排序) 1.Comparable接口的使用举例: 1.像string、包装类等实现了Comparable接口…

智能优化算法:协作搜索算法-附代码

智能优化算法:协作搜索算法 摘要:协作搜索算法( Cooperation search algorithm ,CSA)是 Zhong-kai Feng等 于 2021 年提出的一种新型元启发式优化算法 。 该算法受现代企业团队协作行为的启发,具有寻优能力强,收敛速度…

Seata-AT模式数据源代理-JDBC中的关键知识点

背景 Seata 对业务无侵入是通过数据源代理实现的,从下图中可看出,数据源代理的实现涉及到 DataSource、Connection 以及 Statement,这几个关键知识属于 JDBC 的范畴,所以本篇从 JDBC 的视角对他们进行介绍。 一、JDBC 概述 JDBC…

【算法】面试题 - 回溯算法解题套路框架

回溯算法解题套路框架前言回溯算法的框架排列(元素无重不可复选)46. 全排列解析子集(元素无重不可复选)78. 子集解析组合(元素无重不可复选)77. 组合解析子集/组合(元素可重不可复选&#xff09…