사이트의 새 버전을 사용할 수 있을 때 사용자에게 알리고 페이지를 새로 고치라는 메시지를 표시합니다.
🔔 버전-로켓 🚀
영어 | 简体中文
사이트의 새 버전을 사용할 수 있을 때 사용자에게 알리고 페이지를 새로 고치라는 메시지를 표시합니다.
앱 배포를 완료하면 Lark 그룹 채팅에 배포 메시지를 보냅니다.
에 대한
version-rocket은 원격 서버의 버전 파일에 대해 사용자의 현재 브라우저에 있는 버전을 확인합니다.
새 버전을 사용할 수 있는 경우 새 버전 업데이트 프롬프트가 표시되고 사용자에게 페이지를 새로 고칠 수 있는 작업 버튼이 제공됩니다. 또는 version-rocket이 사용자 지정 사용자 인터페이스를 지원하는 콜백 함수를 수신하여 알려줄 수 있습니다.
우리는 폴링 루프를 수행하기 위해 javascript 기반의 Web Worker API를 사용하며 브라우저 렌더링 프로세스에 영향을 미치지 않습니다.
특징
스크린샷
용법
설치
시작하다
최신 버전을 설치하고 사용하십시오.
function, this function compatible with
```pollingCompareVersion```
, and support customize popup text and theme (Recommended)
<br/>
#### Use the default theme
```javascript
// 1. Step one: import checkVersion(), and use
import { checkVersion } from 'version-rocket'
import { version } from '../package.json'
checkVersion({
localPackageVersion: version,
originVersionFileUrl: `${location.origin}/version.json`,
})
/**
* 2. Step two:
* generate-version-file shortcut command to create the version.json file.
*
* The parameter is the directory where you want to create version.json.
*
* If you don't pass the parameter, it will be created in the dist directory by default.
*/
{
"name": "test",
"description": "test",
"private": true,
"version": "0.0.1",
"scripts": {
...
"generate:version": "generate-version-file dist public"
...
},
...
}
위의 두 단계를 완료하면 버전 모니터링 기능을 정상적으로 사용할 수 있습니다 🎉🎉
팝업 텍스트 및 테마 개인화
import { checkVersion } from 'version-rocket'
import {version} from '../package.json'
checkVersion(
{
localPackageVersion: version,
originVersionFileUrl: `${location.origin}/version.json`,
},
{
title: 'Title',
description: 'Description',
primaryColor: '#758bfd',
rocketColor: '#ff8600',
buttonText: 'Button Text',
}
)
팝업 이미지 개인화
import { checkVersion } from 'version-rocket'
import {version} from '../package.json'
checkVersion(
{
localPackageVersion: version,
originVersionFileUrl: `${location.origin}/version.json`,
},
{
imageUrl: 'https://avatars.githubusercontent.com/u/26329117',
}
)
버전 1.0.9 이상을 사용하는 경우 pollingCompareVersion 메서드를 호출합니다.
최신 버전으로 업그레이드하여 팝업 문구 및 테마 커스터마이징 기능을 경험해 보시기를 권장합니다.
// 1. Step one: import pollingCompareVersion, and use
import { pollingCompareVersion } from 'version-rocket'
import { version } from '../package.json'
pollingCompareVersion(version, `${location.origin}/version.json`, 30000, (data) => {
console.log(data)
})
// 2. Step two: see above: "Use the default theme"
See "Attributes/Parameters" table for more personalized settings📄
Lark 그룹 채팅에 성공적으로 배포되었다는 푸시 알림 지원
/**
* 1. Step one:
* You need to create a send-lark-config.json file first, it store the field for setting the text for the message card.
*
* Then, you can just execute the send-lark-message shortcut command. By default, the send-lark-config.json file in the current path is selected.
*
* MESSAGE_PATH (optional): If you want to customize the file path and file name, you can set the MESSAGE_PATH parameter to pass it in.
*
* PACKAGE_JSON_PATH (optional): If you want to customize the path to the package.json file, you can do so by passing in the PACKAGE_JSON_PATH environment variable. We will get the package.json file from the root path by default.
*/
{
"name": "test",
"description": "test",
"private": true,
"version": "0.0.1",
"scripts": {
...
"send-lark-message:test": "MESSAGE_PATH=./lark-message-config.json PACKAGE_JSON_PATH=./packages/test/package.json send-lark-message"
...
},
...
}
// Step two: send-lark-config.json example
{
// card title
"title": "TEST FE Deployed Successfully",
// deploy project name
"projectName": "TEST",
// deploy branch name
"branch": "Staging",
// project url
"accessUrl": "https://test.com",
// remind group chat members: true/false
"isNotifyAll": true,
// lark robot webhook url
"larkWebHook": "https://open.larksuite.com/open-apis/bot/v2/hook/xxxxxxxxxxxx",
// deploy type
"deployTools": "Jenkins",
// the deploy time zone that you want to display, default "Asia/Shanghai"
"expectConvertToTimezone": "America/New_York"
}
배포 메시지 템플릿 개인화
// send-lark-config.json example
{
// message card template content
"message": {
"msg_type": "text",
"content": {
"text": "New message reminder"
}
},
// webhook link for the Lark bot
"larkWebHook": "https://open.larksuite.com/open-apis/bot/v2/hook/xxxxxxxxxxxx"
}
속성/매개변수
function parameter table
| Params | Type | Description | Default | Required |
| --- | --- | --- | --- | --- |
| config | object | Version monitoring configuration item | | Yes |
| config.originVersionFileUrl | string | The path to the version.json file on the remote server | | Yes |
| config.localPackageVersion | string | The version of the current application usually takes the version field of package.json for comparison with the version.json file of the remote server | | Yes |
| config.pollingTime | number | Time interval for polling monitoring, in ms | 5000 | No |
| config.onVersionUpdate | function(data) | Callback function for custom version hint UI (if you want to customize the popup UI, you can get the return value through the callback function to control the appearance of the popup) | | No |
| options | object | Configuration items for popup text and themes (not customize the popup UI, but use it if you need to modify the text and themes) | | No |
| options.title | string | Popup title | Update | No |
| options.description | string | Popup description | V xxx is available | No |
| options.buttonText | string | Popup button text | Refresh | No |
| options.imageUrl | string | Popup image | | No |
| options.rocketColor | string | The popup picture's theme color of the rocket, after setting Options.imageUrl is invalid | | No |
| options.primaryColor | string | The theme color of the popup, it will affect the hint image background color and button background color, after setting imageUrl is invalid | | No |
| options.buttonStyle | string | The CSS configuration of pop-up buttons can override the default button style | | No |
####
```pollingCompareVersion```
function parameter table
| Params | Type | Description | Default | Required |
| --- | --- | --- | --- | --- |
| localPackageVersion | string | The version of the current application usually takes the version field of package.json for comparison with the version.json file of the remote server | | Yes |
| originVersionFileUrl | string | The path to the version.json file on the remote server | | Yes |
| pollingTime | number | Time interval for polling monitoring, in ms | | Yes |
| onVersionUpdate | function(data) | Callback function for custom version hint UI (if you want to customize the popup UI, you can get the return value through the callback function to control the appearance of the popup) ) | | No |
## Link
- [Timezone List](https://jp.cybozu.help/general/zh/admin/list_systemadmin/list_localization/timezone.html)
Reference
이 문제에 관하여(사이트의 새 버전을 사용할 수 있을 때 사용자에게 알리고 페이지를 새로 고치라는 메시지를 표시합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/akimyou/notify-users-when-a-new-version-of-your-site-is-available-and-prompt-them-to-refresh-the-page-5cj7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)