feat(config): 添加 VITE_CLOUDFLARE_SERVER_ENABLED 环境变量支持
This commit is contained in:
3
.env
3
.env
@@ -6,4 +6,5 @@ VITE_APP_BUILD_COMMIT=
|
|||||||
VITE_APP_BUILD_TIME=
|
VITE_APP_BUILD_TIME=
|
||||||
VITE_ENABLE_VUE_DEVTOOLS=true
|
VITE_ENABLE_VUE_DEVTOOLS=true
|
||||||
VITE_MENU_SHOW_DEMOS=true
|
VITE_MENU_SHOW_DEMOS=true
|
||||||
VITE_MENU_SHOW_ORDER=true
|
VITE_MENU_SHOW_ORDER=true
|
||||||
|
VITE_CLOUDFLARE_SERVER_ENABLED=true
|
||||||
@@ -5,6 +5,7 @@ import './styles/index.ts';
|
|||||||
|
|
||||||
import App from './App.vue';
|
import App from './App.vue';
|
||||||
|
|
||||||
|
/* `import.meta.glob(${g}, { eager: ${isSync} })`; */
|
||||||
const autoInstallModules = import.meta.glob('./plugins/!(index).ts', { eager: true });
|
const autoInstallModules = import.meta.glob('./plugins/!(index).ts', { eager: true });
|
||||||
|
|
||||||
import { setupPlugins } from './plugins';
|
import { setupPlugins } from './plugins';
|
||||||
|
|||||||
@@ -4,10 +4,14 @@ import MetaLayouts from 'vite-plugin-vue-meta-layouts';
|
|||||||
export default [
|
export default [
|
||||||
// https://github.com/dishait/vite-plugin-vue-meta-layouts
|
// https://github.com/dishait/vite-plugin-vue-meta-layouts
|
||||||
MetaLayouts({
|
MetaLayouts({
|
||||||
|
target: 'src/layouts',
|
||||||
|
excludes: ['**/!(the-)*.vue'], // 排除非 the- 开头的文件。
|
||||||
|
metaName: 'layout',
|
||||||
// defaultLayout: 'sakai-vue/AppLayout',
|
// defaultLayout: 'sakai-vue/AppLayout',
|
||||||
// defaultLayout: 'naive-ui/AppLayout',
|
// defaultLayout: 'naive-ui/AppLayout',
|
||||||
|
defaultLayout: 'base-layout/the-base-layout',
|
||||||
|
// !⬇️: 当设置为 `sync` 时,注意`import 'virtual:uno.css'`的顺序问题。
|
||||||
// importMode: 'sync', // 默认为自动处理,SSG 时为 sync,非 SSG 时为 async
|
// importMode: 'sync', // 默认为自动处理,SSG 时为 sync,非 SSG 时为 async
|
||||||
defaultLayout: 'base-layout/base-layout',
|
|
||||||
skipTopLevelRouteLayout: true, // 打开修复 https://github.com/JohnCampionJr/vite-plugin-vue-layouts/issues/134,默认为 false 关闭
|
skipTopLevelRouteLayout: true, // 打开修复 https://github.com/JohnCampionJr/vite-plugin-vue-layouts/issues/134,默认为 false 关闭
|
||||||
}),
|
}),
|
||||||
] satisfies PluginOption;
|
] satisfies PluginOption;
|
||||||
|
|||||||
@@ -6,11 +6,12 @@ export function loadPlugin(configEnv: ConfigEnv): PluginOption {
|
|||||||
const env = loadEnv(configEnv.mode, process.cwd());
|
const env = loadEnv(configEnv.mode, process.cwd());
|
||||||
|
|
||||||
if (configEnv.command === 'build') {
|
if (configEnv.command === 'build') {
|
||||||
consola.info('VITE_ENABLE_VUE_DEVTOOLS is not enabled in build mode.');
|
consola.info('vue-devtools plugin is not used in build mode.');
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (env.VITE_ENABLE_VUE_DEVTOOLS === 'true') {
|
if (env.VITE_ENABLE_VUE_DEVTOOLS !== 'true') {
|
||||||
|
consola.info('vue-devtools plugin disabled by env');
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,5 +7,9 @@ export function loadPlugin(_configEnv: ConfigEnv): PluginOption {
|
|||||||
console.log('cloudflare plugin disabled in test mode');
|
console.log('cloudflare plugin disabled in test mode');
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
if (process.env.VITE_CLOUDFLARE_SERVER_ENABLED !== 'true') {
|
||||||
|
console.log('cloudflare plugin disabled by env');
|
||||||
|
return [];
|
||||||
|
}
|
||||||
return [cloudflare()];
|
return [cloudflare()];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,11 +42,15 @@ export const viteConfigRollupOptions: RollupOptions = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
manualChunks: (id: string, _meta: ManualChunkMeta) => {
|
manualChunks: (id: string, _meta: ManualChunkMeta) => {
|
||||||
/* 有一个问题: dynamic import will not move module into another chunk.
|
if (['/src/layouts'].some((prefix) => id.includes(prefix))) {
|
||||||
if (['/src/layouts'].some((prefix) => id.includes(prefix))) {
|
return 'layouts';
|
||||||
return 'layouts';
|
}
|
||||||
}
|
|
||||||
*/
|
if (id.includes('meta-layouts')) {
|
||||||
|
// console.debug(`id :>> `, id); // id :>> virtual:meta-layouts
|
||||||
|
// 这里很奇怪,打印 id 是`virtual:meta-layouts`,但是 `'virtual:meta-layouts' === id` 却是 false
|
||||||
|
return 'lib-meta-layouts';
|
||||||
|
}
|
||||||
|
|
||||||
if (id.includes('index.page.vue')) {
|
if (id.includes('index.page.vue')) {
|
||||||
const parentDir = path.basename(path.dirname(id));
|
const parentDir = path.basename(path.dirname(id));
|
||||||
|
|||||||
@@ -4,9 +4,11 @@ import { defineConfig, loadEnv } from 'vite';
|
|||||||
import { loadPlugins } from './vite-plugins/_loadPlugins';
|
import { loadPlugins } from './vite-plugins/_loadPlugins';
|
||||||
import { optimizeDeps } from './vite.config.optimizeDeps';
|
import { optimizeDeps } from './vite.config.optimizeDeps';
|
||||||
import { viteConfigRollupOptions } from './vite.config.rollup';
|
import { viteConfigRollupOptions } from './vite.config.rollup';
|
||||||
|
import consola from 'consola';
|
||||||
|
|
||||||
// https://vite.dev/config/
|
// https://vite.dev/config/
|
||||||
export default defineConfig(async (configEnv) => {
|
export default defineConfig(async (configEnv) => {
|
||||||
|
consola.info(`[vite.config.ts] mode: ${configEnv.mode}, command: ${configEnv.command}`);
|
||||||
const { command, mode } = configEnv;
|
const { command, mode } = configEnv;
|
||||||
|
|
||||||
const isBuild = command === 'build';
|
const isBuild = command === 'build';
|
||||||
|
|||||||
Reference in New Issue
Block a user