UNPKG

@neosjs/cli

Version:

Neos(奈欧斯)是一个帮助开发者快速地创建 Vue3 应用并自动配置项目编译的脚手架

56 lines (52 loc) 1.6 kB
import { fileURLToPath, URL } from 'node:url' import type { ConfigEnv, UserConfigExport } from 'vite' import { defineConfig, loadEnv } from 'vite' import { wrapperEnv, formatDate } from './build/utils' import { createViteProxy } from './build/vite/proxy' import { createVitePlugins } from './build/vite/plugins' import { cerateViteBuild } from './build/vite/build' import pkg from './package.json' const { name, version } = pkg const __APP_INFO__ = { pkg: { name, version }, lastBuildTime: formatDate(new Date(), 'YYYY-MM-DD HH:mm:ss'), }; const BANNER = ` /*! * ${name} * Version: ${version} * ReleaseTime: ${formatDate(new Date(), 'YYYY-MM-DD HH:mm')} * Copyright ${formatDate(new Date(), 'YYYY')} */ ` // https://vitejs.dev/config/ export default ({ command, mode }: ConfigEnv): UserConfigExport => { const IS_BUILD = command === 'build' const ENV = Object.assign(loadEnv(mode, process.cwd())) const viteEnv = wrapperEnv(ENV) const { VITE_PORT, VITE_PROXY, VITE_APP_URL } = viteEnv const BUILD_CONFIG = cerateViteBuild(viteEnv, BANNER) return defineConfig({ plugins: createVitePlugins(viteEnv, IS_BUILD), resolve: { alias: { '@': fileURLToPath(new URL('./src', import.meta.url)), '#': fileURLToPath(new URL('./src/types', import.meta.url)) } }, css: {}, server: { host: true, open: `${VITE_APP_URL}`, port: VITE_PORT, proxy: createViteProxy(VITE_PROXY) }, build: { ...BUILD_CONFIG, minify: 'terser' }, define: { __APP_INFO__: JSON.stringify(__APP_INFO__), }, }) }