mirror of
https://github.com/hi2shark/nazhua.git
synced 2026-01-12 15:20:43 +08:00
✨ 增加子目录支持,Release添加子目录/nazhua/的构建
This commit is contained in:
parent
557951ede3
commit
b41a7d34cd
24
.github/workflows/release.yml
vendored
24
.github/workflows/release.yml
vendored
@ -78,6 +78,18 @@ jobs:
|
|||||||
- name: 打包v${{ steps.determine_version.outputs.version }}-cdn-loli.zip
|
- name: 打包v${{ steps.determine_version.outputs.version }}-cdn-loli.zip
|
||||||
run: zip -r v${{ steps.determine_version.outputs.version }}-cdn-loli.zip dist
|
run: zip -r v${{ steps.determine_version.outputs.version }}-cdn-loli.zip dist
|
||||||
|
|
||||||
|
- name: 构建哪吒v0子目录版本
|
||||||
|
env:
|
||||||
|
VITE_BASE_PATH: '/nazhua/'
|
||||||
|
VITE_NEZHA_VERSION: 'v0'
|
||||||
|
VITE_SARASA_TERM_SC_USE_CDN: '1'
|
||||||
|
VITE_USE_CDN: '1'
|
||||||
|
VITE_CDN_LIB_TYPE: 'jsdelivr'
|
||||||
|
run: npm run build
|
||||||
|
|
||||||
|
- name: 打包v0-nazhua.zip
|
||||||
|
run: zip -r v0-nazhua.zip dist
|
||||||
|
|
||||||
- name: 构建哪吒v0版本
|
- name: 构建哪吒v0版本
|
||||||
env:
|
env:
|
||||||
VITE_NEZHA_VERSION: 'v0'
|
VITE_NEZHA_VERSION: 'v0'
|
||||||
@ -130,6 +142,16 @@ jobs:
|
|||||||
asset_name: v${{ steps.determine_version.outputs.version }}-cdn-loli.zip
|
asset_name: v${{ steps.determine_version.outputs.version }}-cdn-loli.zip
|
||||||
asset_content_type: application/zip
|
asset_content_type: application/zip
|
||||||
|
|
||||||
|
- name: Upload v0-nazhua.zip
|
||||||
|
uses: actions/upload-release-asset@v1
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||||
|
asset_path: ./v0-nazhua.zip
|
||||||
|
asset_name: v0-nazhua.zip
|
||||||
|
asset_content_type: application/zip
|
||||||
|
|
||||||
- name: Upload v0-dist.zip
|
- name: Upload v0-dist.zip
|
||||||
uses: actions/upload-release-asset@v1
|
uses: actions/upload-release-asset@v1
|
||||||
env:
|
env:
|
||||||
@ -162,7 +184,7 @@ jobs:
|
|||||||
echo -e "\n## 变更内容\n$(cat change.txt)" >> body.txt
|
echo -e "\n## 变更内容\n$(cat change.txt)" >> body.txt
|
||||||
|
|
||||||
# 添加其他发布说明
|
# 添加其他发布说明
|
||||||
echo -e "\n哪吒V1请下载dist.zip\n哪吒V0请下载v0-dist.zip\nv${{ steps.determine_version.outputs.version }}-all.zip是全量包\nv${{ steps.determine_version.outputs.version }}-cdn-jsdelivr.zip是jsdelivr引用版\nv${{ steps.determine_version.outputs.version }}-cdn-loli.zip是cdnjs的loli.net引用版" >> body.txt
|
echo -e "\n哪吒V1请下载dist.zip\n哪吒V0请下载v0-dist.zip\n哪吒V0/nazhua/子目录需求请下载v0-nazhua.zip\nv${{ steps.determine_version.outputs.version }}-all.zip是全量包\nv${{ steps.determine_version.outputs.version }}-cdn-jsdelivr.zip是jsdelivr引用版\nv${{ steps.determine_version.outputs.version }}-cdn-loli.zip是cdnjs的loli.net引用版" >> body.txt
|
||||||
|
|
||||||
# 更新发布说明
|
# 更新发布说明
|
||||||
gh release edit v${{ steps.determine_version.outputs.version }} --notes-file body.txt
|
gh release edit v${{ steps.determine_version.outputs.version }} --notes-file body.txt
|
||||||
|
|||||||
@ -6,6 +6,7 @@
|
|||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
"build": "vite build",
|
"build": "vite build",
|
||||||
"build:cdn": "cross-env VITE_SARASA_TERM_SC_USE_CDN=1 VITE_USE_CDN=1 vite build",
|
"build:cdn": "cross-env VITE_SARASA_TERM_SC_USE_CDN=1 VITE_USE_CDN=1 vite build",
|
||||||
|
"build:nazhua": "cross-env VITE_BASE_PATH=/nazhua/ VITE_NEZHA_VERSION=v0 VITE_SARASA_TERM_SC_USE_CDN=1 VITE_USE_CDN=1 vite build",
|
||||||
"preview": "vite preview",
|
"preview": "vite preview",
|
||||||
"lint": "eslint ."
|
"lint": "eslint ."
|
||||||
},
|
},
|
||||||
|
|||||||
@ -1,5 +1,19 @@
|
|||||||
import config from '@/config';
|
import config from '@/config';
|
||||||
|
|
||||||
|
function getNezhaConfigUrl() {
|
||||||
|
const { nezhaPath } = config.nazhua;
|
||||||
|
if (nezhaPath.startsWith('http')) {
|
||||||
|
return nezhaPath;
|
||||||
|
}
|
||||||
|
const a = document.createElement('a');
|
||||||
|
if (nezhaPath === '/nezha/' && import.meta.env.VITE_BASE_PATH !== '/') {
|
||||||
|
[a.href] = window.location.href.split(import.meta.env.VITE_BASE_PATH);
|
||||||
|
} else {
|
||||||
|
a.href = nezhaPath;
|
||||||
|
}
|
||||||
|
return a.href;
|
||||||
|
}
|
||||||
|
|
||||||
const configReg = (type) => new RegExp(`${type} = JSON.parse\\('(.*)'\\)`);
|
const configReg = (type) => new RegExp(`${type} = JSON.parse\\('(.*)'\\)`);
|
||||||
// 格式化数据,保证JSON.parse能够正常解析
|
// 格式化数据,保证JSON.parse能够正常解析
|
||||||
const unescaped = (str) => {
|
const unescaped = (str) => {
|
||||||
@ -9,7 +23,7 @@ const unescaped = (str) => {
|
|||||||
str2 = str2.replace(/\\\\/g, '\\');
|
str2 = str2.replace(/\\\\/g, '\\');
|
||||||
return str2;
|
return str2;
|
||||||
};
|
};
|
||||||
export default async () => fetch(config.nazhua.nezhaPath).then((res) => res.text()).then((res) => {
|
export default async () => fetch(getNezhaConfigUrl()).then((res) => res.text()).then((res) => {
|
||||||
let resMatch = res?.match?.(configReg(config.nazhua.nezhaV0ConfigType));
|
let resMatch = res?.match?.(configReg(config.nazhua.nezhaV0ConfigType));
|
||||||
// 尝试兼容不同的nezha前台主题
|
// 尝试兼容不同的nezha前台主题
|
||||||
if (!resMatch) {
|
if (!resMatch) {
|
||||||
|
|||||||
@ -7,52 +7,63 @@ import eslintPlugin from 'vite-plugin-eslint';
|
|||||||
import svgLoader from 'vite-svg-loader';
|
import svgLoader from 'vite-svg-loader';
|
||||||
import packageJson from './package';
|
import packageJson from './package';
|
||||||
|
|
||||||
dotenv.config({
|
let proxy;
|
||||||
path: '.env.development.local',
|
if (process.env.NODE_ENV === 'development') {
|
||||||
});
|
dotenv.config({
|
||||||
|
path: '.env.development.local',
|
||||||
|
});
|
||||||
|
|
||||||
|
proxy = {
|
||||||
|
'/api': {
|
||||||
|
target: process.env.API_HOST,
|
||||||
|
changeOrigin: true,
|
||||||
|
},
|
||||||
|
'/ws': {
|
||||||
|
target: process.env.PROXY_WS_HOST || process.env.WS_HOST,
|
||||||
|
changeOrigin: true,
|
||||||
|
ws: true,
|
||||||
|
rewrite: (e) => {
|
||||||
|
if (process.env.PROXY_WS_HOST) {
|
||||||
|
return `/proxy?wsPath=${process.env.WS_HOST}`;
|
||||||
|
}
|
||||||
|
return e;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'/api/v1/ws/server': {
|
||||||
|
target: process.env.PROXY_WS_HOST || process.env.WS_HOST,
|
||||||
|
changeOrigin: true,
|
||||||
|
ws: true,
|
||||||
|
rewrite: (e) => {
|
||||||
|
if (process.env.PROXY_WS_HOST) {
|
||||||
|
return `/proxy?wsPath=${process.env.WS_HOST}`;
|
||||||
|
}
|
||||||
|
return e;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
if (process.env.VITE_BASE_PATH === '/') {
|
||||||
|
proxy['/nezha/'] = {
|
||||||
|
target: process.env.NEZHA_HOST,
|
||||||
|
changeOrigin: true,
|
||||||
|
rewrite: (e) => e.replace(/^\/nezha/, ''),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 读取版本号
|
||||||
process.env.VITE_APP_VERSION = process.env.VERSION || packageJson.version;
|
process.env.VITE_APP_VERSION = process.env.VERSION || packageJson.version;
|
||||||
|
|
||||||
// https://vite.dev/config/
|
// https://vite.dev/config/
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
|
base: process.env.VITE_BASE_PATH || '/',
|
||||||
server: {
|
server: {
|
||||||
host: '0.0.0.0',
|
host: '0.0.0.0',
|
||||||
port: 3000,
|
port: 3000,
|
||||||
hmr: {
|
hmr: {
|
||||||
overlay: false,
|
overlay: false,
|
||||||
},
|
},
|
||||||
proxy: {
|
proxy,
|
||||||
'/api': {
|
|
||||||
target: process.env.API_HOST,
|
|
||||||
changeOrigin: true,
|
|
||||||
},
|
|
||||||
'/ws': {
|
|
||||||
target: process.env.PROXY_WS_HOST || process.env.WS_HOST,
|
|
||||||
changeOrigin: true,
|
|
||||||
ws: true,
|
|
||||||
rewrite: (e) => {
|
|
||||||
if (process.env.PROXY_WS_HOST) {
|
|
||||||
return `/proxy?wsPath=${process.env.WS_HOST}`;
|
|
||||||
}
|
|
||||||
return e;
|
|
||||||
},
|
|
||||||
},
|
|
||||||
'/api/v1/ws/server': {
|
|
||||||
target: process.env.PROXY_WS_HOST || process.env.WS_HOST,
|
|
||||||
changeOrigin: true,
|
|
||||||
ws: true,
|
|
||||||
rewrite: (e) => {
|
|
||||||
if (process.env.PROXY_WS_HOST) {
|
|
||||||
return `/proxy?wsPath=${process.env.WS_HOST}`;
|
|
||||||
}
|
|
||||||
return e;
|
|
||||||
},
|
|
||||||
},
|
|
||||||
'/nezha/': {
|
|
||||||
target: process.env.NEZHA_HOST,
|
|
||||||
changeOrigin: true,
|
|
||||||
rewrite: (e) => e.replace(/^\/nezha/, ''),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
css: {
|
css: {
|
||||||
preprocessorOptions: {
|
preprocessorOptions: {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user