代码拉取完成,页面将自动刷新
同步操作将从 shareloke/macos-web-tsx-project 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
import {defineConfig, loadEnv} from "vite";
import {
assertBool,
buildConfig,
createViteProxy,
getRootPath,
getServiceEnvConfig,
getSrcPath,
postcssPlugins
} from "./build";
import VitePlugin from "./build/plugins";
import {ImportMetaEnv} from "./build/typings/env";
/**
* vite 相关配置 可以参考官网:https://vitejs.dev/config/
*/
export default defineConfig(configEnv => {
const viteEnv = loadEnv(configEnv.mode, "./env") as unknown as ImportMetaEnv;
const rootPath = getRootPath();
const srcPath = getSrcPath();
const isOpenProxy = assertBool(viteEnv.VITE_HTTP_PROXY);
const envConfig = getServiceEnvConfig(viteEnv);
return {
base: viteEnv.VITE_BASE_URL,
// 根据当前工作目录中的 `mode` 加载 .env 文件
define: {
// 设置第三个参数为 '' 来加载所有环境变量,而不管是否有 `VITE_` 前缀。
"process.env": { ...process.env, ...viteEnv },
},
// 目录映射
resolve: {
alias: {
"~": rootPath,
"@": srcPath,
"@components": `${srcPath}/components`,
"@layouts": `${srcPath}/layouts`,
"@utils": `${srcPath}/utils`,
"@api": `${srcPath}/api`,
"@styles": `${srcPath}/styles`,
},
// 在导入模块时,如果模块路径不包含文件扩展名,则会尝试添加下面这些扩展名
extensions: [".js", ".mjs", ".ts", ".jsx", ".tsx", ".json", ".vue", ".css", ".less"],
},
plugins: new VitePlugin(viteEnv).setupPlugins(),
// css配置
css: {
modules: {
// 类名驼峰
localsConvention: "camelCase",
},
// 预处理器的配置
preprocessorOptions: {
scss: {
javascriptEnabled: true,
// 这样就能全局使用 src/styles/global.scss 定义的 变量
additionalData: `@use "./src/styles/scss/global.scss" as *;`,
},
requireModuleExtension: true,
},
postcss: {
plugins: postcssPlugins,
},
},
build: buildConfig(viteEnv),
// 开发配置
server: {
// 端口号
port: 5700,
// 是否自动打开浏览器 在服务器启动时自动在浏览器中打开应用程序
open: true,
// 类型: boolean | CorsOptions 为开发服务器配置 CORS。默认启用并允许任何源
cors: true,
// IP配置,支持从IP启动
host: "0.0.0.0",
hmr: {
// 禁用或配置 HMR 连接 设置 server.hmr.overlay 为 false 可以禁用服务器错误遮罩层
overlay: false,
},
// 地址代理
proxy: createViteProxy(isOpenProxy, envConfig),
},
};
});
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。