将构建时间戳注入 vue-cli 构建输出文件以使用 yarn 验证部署

Inject build timestamp into vue-cli build output files to verify deployments with yarn

需要验证是否部署了最新版本。我想在构建日志和构建输出的每个文件中添加时间戳。我正在使用 Vue 框架和纱线。

我需要在输出 Vue 应用程序中有一个构建时间戳,而不是在日志中。

(您可以通过在 vue.config.js 的 webpack 部分添加 console.log(new Date().toIsoString()) 来写入构建日志。)

将构建时间戳放入应用程序本身的一种方法是利用 webpack 在 HTML 本身中使用简单模板语言这一事实​​。

在 Vue 应用程序 index.html 中(例如),我在根 <html> 元素上插入了一个数据属性:

<html data-build-timestamp-utc="<%= new Date().toISOString() %>">
  ...
</html>

这很容易检索:

document.documentElement.dataset.buildTimestampUtc

然后您可以将其作为 getter 添加到根 App 组件上,@Provide 将其作为 "buildtime" 添加到其他组件,等等

这适用于主构建和开发 "serve" 构建 - 但请记住根 HTML 本身不会热模块重新加载,因此尽管构建时间戳 正在更新,您必须刷新页面才能看到它。