fix: correct debugger code

This commit is contained in:
vben
2021-02-08 23:59:47 +08:00
parent a3a903bc86
commit 759e532079
11 changed files with 75 additions and 69 deletions

View File

@@ -1,6 +1,6 @@
import { generate } from '@ant-design/colors';
export const primaryColor = '#0084f4';
export const primaryColor = '#0960bd';
export const themeMode = 'light';

View File

@@ -2,3 +2,5 @@
* The name of the configuration file entered in the production environment
*/
export const GLOB_CONFIG_FILE_NAME = '_app.config.js';
export const OUTPUT_DIR = 'dist';

View File

@@ -1,13 +1,15 @@
/**
* Generate additional configuration files when used for packaging. The file can be configured with some global variables, so that it can be changed directly externally without repackaging
*/
import { GLOB_CONFIG_FILE_NAME } from '../constant';
import { GLOB_CONFIG_FILE_NAME, OUTPUT_DIR } from '../constant';
import fs, { writeFileSync } from 'fs-extra';
import chalk from 'chalk';
import { getCwdPath, getEnvConfig } from '../utils';
import { getShortName } from '../getShortName';
import pkg from '../../package.json';
function createConfig(
{
configName,
@@ -17,21 +19,19 @@ function createConfig(
) {
try {
const windowConf = `window.${configName}`;
const outDir = 'dist';
// Ensure that the variable will not be modified
const configStr = `${windowConf}=${JSON.stringify(config)};
Object.freeze(${windowConf});
Object.defineProperty(window, "${configName}", {
configurable: false,
writable: false,
});
`;
fs.mkdirp(getCwdPath(outDir));
writeFileSync(getCwdPath(`${outDir}/${configFileName}`), configStr);
`.replace(/\s/g, '');
fs.mkdirp(getCwdPath(OUTPUT_DIR));
writeFileSync(getCwdPath(`${OUTPUT_DIR}/${configFileName}`), configStr);
console.log(chalk.cyan('✨ configuration file is build successfully:'));
console.log(chalk.gray(outDir + '/' + chalk.green(configFileName)) + '\n');
console.log(chalk.cyan(`✨ [${pkg.name}]`) + ` - configuration file is build successfully:`);
console.log(chalk.gray(OUTPUT_DIR + '/' + chalk.green(configFileName)) + '\n');
} catch (error) {
console.log(chalk.red('configuration file configuration file failed to package:\n' + error));
}

View File

@@ -4,6 +4,8 @@ import { argv } from 'yargs';
import { runBuildConfig } from './buildConf';
import chalk from 'chalk';
import pkg from '../../package.json';
export const runBuild = async () => {
try {
const argvList = argv._;
@@ -12,7 +14,7 @@ export const runBuild = async () => {
if (!argvList.includes('no-conf')) {
await runBuildConfig();
}
console.log(chalk.green.bold('✨ vite build successfully!\n'));
console.log(`${chalk.cyan(`[${pkg.name}]`)}` + ' - build successfully!');
} catch (error) {
console.log(chalk.red('vite build error:\n' + error));
process.exit(1);

4
build/typeing.d.ts vendored Normal file
View File

@@ -0,0 +1,4 @@
declare module '*.json' {
const src: any;
export default src;
}

View File

@@ -1,8 +1,7 @@
import type { Plugin } from 'vite';
import type { ViteEnv } from '../../utils';
import html from 'vite-plugin-html';
import { ViteEnv } from '../../utils';
// @ts-ignore
import pkg from '../../../package.json';
import { GLOB_CONFIG_FILE_NAME } from '../../constant';

View File

@@ -2,8 +2,6 @@ import type { Plugin } from 'vite';
import PurgeIcons from 'vite-plugin-purge-icons';
// @ts-ignore
import pkg from '../../../package.json';
import { ViteEnv } from '../../utils';
import { configHtmlPlugin } from './html';
import { configPwaConfig } from './pwa';
@@ -16,13 +14,15 @@ import { configImageminPlugin } from './imagemin';
// gen vite plugins
export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) {
const { VITE_USE_IMAGEMIN, VITE_USE_MOCK } = viteEnv;
const vitePlugins: (Plugin | Plugin[])[] = [];
// vite-plugin-html
vitePlugins.push(configHtmlPlugin(viteEnv, isBuild));
// vite-plugin-mock
vitePlugins.push(configMockPlugin(viteEnv, isBuild));
VITE_USE_MOCK && vitePlugins.push(configMockPlugin(isBuild));
// vite-plugin-purge-icons
vitePlugins.push(PurgeIcons());
@@ -38,7 +38,7 @@ export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) {
if (isBuild) {
//vite-plugin-imagemin
viteEnv.VITE_USE_IMAGEMIN && vitePlugins.push(configImageminPlugin());
VITE_USE_IMAGEMIN && vitePlugins.push(configImageminPlugin());
// rollup-plugin-gzip
vitePlugins.push(configGzipPlugin(isBuild));

View File

@@ -1,26 +1,16 @@
import { viteMockServe } from 'vite-plugin-mock';
import { ViteEnv } from '../../utils';
export function configMockPlugin(env: ViteEnv, isBuild: boolean) {
const { VITE_USE_MOCK } = env;
const useLocalMock = !isBuild && VITE_USE_MOCK;
const useProdMock = isBuild && VITE_USE_MOCK;
if (useLocalMock || useProdMock) {
const mockPlugin = viteMockServe({
ignore: /^\_/,
mockPath: 'mock',
showTime: true,
localEnabled: useLocalMock,
prodEnabled: useProdMock,
injectCode: `
export function configMockPlugin(isBuild: boolean) {
return viteMockServe({
ignore: /^\_/,
mockPath: 'mock',
showTime: true,
localEnabled: !isBuild,
prodEnabled: isBuild,
injectCode: `
import { setupProdMockServer } from '../mock/_createProductionServer';
setupProdMockServer();
`,
});
return mockPlugin;
}
return [];
});
}