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

umi2的使用场景 #11

Closed gujiwuqing closed 1 year ago

gujiwuqing commented 1 year ago

image image

gujiwuqing commented 1 year ago

这个 不太懂ts,所以大佬,如果是ts版本我试了没问题,js版本的话 就一直报错 求大佬指教 image

GreatAuk commented 1 year ago

晚上看下,这个插件写的时候,是对照 umi3 的文档写的

GreatAuk commented 1 year ago

这个 不太懂ts,所以大佬,如果是ts版本我试了没问题,js版本的话 就一直报错 求大佬指教 image

什么叫 ts 版本的没问题,js 版本报错,其实你 require 的都是 js 代码。 截图看下你说的这两个用法

GreatAuk commented 1 year ago

知道你问题了,你用错方法了,而且umi 不用手动导入插件的

// import { defineConfig} from 'umi'
// import type { Options as WebUpdateNotificationOptions } from '@plugin-web-update-notification/umijs'

export default {
  plugins: ['@plugin-web-update-notification/umijs'],
  webUpdateNotification: {}
}
gujiwuqing commented 1 year ago

这个 不太懂ts,所以大佬,如果是ts版本我试了没问题,js版本的话 就一直报错 求大佬指教 image

什么叫 ts 版本的没问题,js 版本报错,其实你 require 的都是 js 代码。 截图看下你说的这两个用法

ts版本的就是直接copy文档的代码,js版本 因为没有type类型可言 然后就不能那样子写 然后我看WebUpdateNotificationOptions和这些都是泛型

gujiwuqing commented 1 year ago

知道你问题了,你用错方法了,而且umi 不用手动导入插件的

// import { defineConfig} from 'umi'
// import type { Options as WebUpdateNotificationOptions } from '@plugin-web-update-notification/umijs'

export default {
  plugins: ['@plugin-web-update-notification/umijs'],
  webUpdateNotification: {}
}

这样子用吗?我感觉也是会报错的

GreatAuk commented 1 year ago
image

红框内容删了就可以

gujiwuqing commented 1 year ago
image

红框内容删了就可以

呃 我试过了 会报错的 我截图下给你看 image

gujiwuqing commented 1 year ago

我猜测可能是版本问题还是什么。。

GreatAuk commented 1 year ago

好的,晚上看下

gujiwuqing commented 1 year ago

好的,晚上看下

image 我看umi2是这样子的。很痛苦 大概率是版本使用方法问题 麻烦大佬帮忙看看了 谢谢

GreatAuk commented 1 year ago

umi2 之后,插件相关的 api 有改动,兼容不了了。建议在 umi 里用 webpack 插件试试。 文档

const { WebUpdateNotificationPlugin } = require('@plugin-web-update-notification/webpack')

export default {
  ...
  chainWebpack(config, { webpack }) {
    config
    .plugin('WebUpdateNotificationPlugin')
    .use(WebUpdateNotificationPlugin, {
       logVersion: true
     })
  }
}
gujiwuqing commented 1 year ago

umi2 之后,插件相关的 api 有改动,兼容不了了。建议在 umi 里用 webpack 插件试试。 文档

const { WebUpdateNotificationPlugin } = require('@plugin-web-update-notification/webpack')

export default {
  ...
  chainWebpack(config, { webpack }) {
    config
    .plugin('WebUpdateNotificationPlugin')
    .use(WebUpdateNotificationPlugin, {
       logVersion: true
     })
  }
}

好的 我明天试试 谢谢

GreatAuk commented 1 year ago

问题解决了吗, ok 的话就 close 了