代码拉取完成,页面将自动刷新
import path from "path"
import type { ConfigEnv } from "vite"
import { defineConfig, loadEnv } from "vite"
import vue from "@vitejs/plugin-vue"
// import legacy from "@vitejs/plugin-legacy"
import eslintPlugin from "vite-plugin-eslint"
import { mars3dPlugin } from "vite-plugin-mars3d"
import pxtoviewport from "postcss-px-to-viewport-8-plugin"
import autoprefixer from "autoprefixer"
import Components from "unplugin-vue-components/vite"
import { VantResolver } from "unplugin-vue-components/resolvers"
export default ({ mode }: ConfigEnv) => {
const root = process.cwd()
// 获取 .env 文件里定义的环境变量
const ENV = loadEnv(mode, root)
console.log(`当前环境信息:`, mode)
console.log(`ENV:`, ENV)
return defineConfig({
base: ENV.VITE_BASE_URL,
server: {
port: 3003
// proxy: {
// // "/v1": "http://localhost:7001"
// "/v1": "http://server.mars3d.cn"
// }
},
define: {
"process.env": {
mode,
BASE_URL: ENV.VITE_BASE_URL,
API_BASE: ENV.VITE_API_URL
}
},
resolve: {
alias: {
"@mars": path.join(__dirname, "src")
},
extensions: [".js", ".ts", ".jsx", ".tsx", ".json", ".mjs"]
},
json: {
// 支持从 .json 文件中进行按名导入
namedExports: true,
stringify: false
},
css: {
preprocessorOptions: {
less: {
javascriptEnabled: true
}
},
postcss: {
plugins: [
autoprefixer(),
pxtoviewport({ viewportWidth: 375 })
]
}
},
build: {
// 输出路径
outDir: path.join("./dist", ENV.VITE_BASE_URL),
// 小于此阈值的导入或引用资源将内联为 base64 编码, 以避免额外的http请求, 设置为 0, 可以完全禁用此项,
assetsInlineLimit: 4096,
// 启动 / 禁用 CSS 代码拆分
cssCodeSplit: true,
// 构建后是否生成 soutrce map 文件
sourcemap: false,
// 自定义rollup-commonjs插件选项
commonjsOptions: {
include: /node_modules|packages/
},
// 静态资源目录
assetsDir: "assets",
// 自定义底层的 Rollup 打包配置
rollupOptions: {
output: {
chunkFileNames: "assets/js/[name]-[hash].js",
entryFileNames: "assets/js/[name]-[hash].js",
assetFileNames: "assets/[ext]/[name]-[hash].[ext]"
}
},
// 当设置为 true, 构建后将会生成 manifest.json 文件
manifest: false,
// 设置为 false 可以禁用最小化混淆,或是用来指定是应用哪种混淆器 boolean | 'terser' | 'esbuild'
minify: "terser",
// 传递给 Terser 的更多 minify 选项
terserOptions: {
compress: {
drop_console: true, // 删除 console.log
drop_debugger: true // 删除 debugger
}
},
// 设置为false 来禁用将构建好的文件写入磁盘
write: true,
// 默认情况下 若 outDir 在 root 目录下, 则 Vite 会在构建时清空该目录。
emptyOutDir: true
},
plugins: [
vue(),
eslintPlugin(),
mars3dPlugin(),
Components({ resolvers: [VantResolver()] })
]
})
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。