GreatAuk / plugin-web-update-notification

Detect webpage updates and notify user to reload. support Vite, Umijs, and Webpack.
MIT License
490 stars 42 forks source link

logVersion 可以支持函数, 并使用dayjs输出吗? #24

Closed vaynevayne closed 1 year ago

vaynevayne commented 1 year ago

spa项目 部署以后, 点击路由跳转, 并没有显示notification

GreatAuk commented 1 year ago

第一次安装插件后部署?

vaynevayne commented 1 year ago

第二次, 不管了 又出来了

话说 logVersion 是时间戳 不太直观, 能否自定义 logVersion 打印出来的内容?

logVersion : boolean|(value:number)=> string|number

我这样用

logVersion:(value)=> `部署时间: ${dayjs(value).format('YYYY-MM-DD HH:mm:ss')}`
GreatAuk commented 1 year ago

这周有空给加一个配置。

GreatAuk commented 1 year ago

https://github.com/GreatAuk/plugin-web-update-notification/commit/43163167f22b5bfffd9deaf08dadb1fa8c0c219c

GreatAuk commented 1 year ago
    webUpdateNotice({
      versionType: "build_timestamp",
      logVersion: (version) => {
        console.log(
          `version: ${new Date(parseInt(version)).toLocaleString("zh-CN")}`
        );
      },
      ...
    }
vaynevayne commented 1 year ago

qiang

GreatAuk commented 1 year ago

这里是用不了 dayjs 之类的哈,操作打包是不会把 dayjs 打包进去的。直接写原生吧

vaynevayne commented 1 year ago

这段代码是在运行时执行的吧? 那我项目里使用了dayjs, 我就在这里用dayjs 是可以的吧

GreatAuk commented 1 year ago

是在运行时执行,但没有参与到主项目的打包过程中。所以是用不了 dayjs 的。除非你把 dayjs 提前挂到 window 下。

vaynevayne commented 1 year ago

谢谢, 我可以把dayjs挂到window,

// main.js
import dayjs from 'dayjs'

window.dayjs = dayjs

但是怎么保证这个插件是在我挂载了dayjs之后才执行呢? 求科普

GreatAuk commented 1 year ago
image

只能这样,别折腾了...

vaynevayne commented 1 year ago

嗯嗯