hookehuyr

环境变量配置

# port
VITE_PORT = 8006
# 反向代理服务器地址
VITE_PROXY_TARGET = http://voice.onwall.cn
# API请求前缀
VITE_PROXY_PREFIX = /srv/
# 打包输出文件夹名称
VITE_OUTDIR = voice
VITE_BASE = '/'
VITE_OPENID = 'api-test-openid'
VITE_ID = '13812345678'
VITE_PIN = '8888'
# 资源公共路径
VITE_BASE = /
# 测试open-id
VITE_OPENID = api-test-openid
# B端账号
VITE_ID = 13812345678
# 验证码
VITE_PIN = 8888
......
VITE_BASE = '/f/voice/'
VITE_APP_OPENID = ''
VITE_APP_ID = ''
VITE_APP_PIN = ''
# 资源公共路径
VITE_BASE = /f/voice/
# 测试open-id
VITE_APP_OPENID =
# B端账号
VITE_APP_ID =
# 验证码
VITE_APP_PIN =
......
const PROXY_TARGET = 'http://voice.onwall.cn'; // 反向代理服务器地址
const OUTDIR = 'voice' // 打包输出文件夹名称
export {
PROXY_TARGET,
OUTDIR
}
import vue from '@vitejs/plugin-vue';
import styleImport, { VantResolve } from 'vite-plugin-style-import';
import { defineConfig, loadEnv } from 'vite';
import { PROXY_TARGET, OUTDIR } from './PRJCONFIG'
import { createProxy } from './build/proxy'
var path = require('path');
export default({ command, mode }) => {
export default ({ command, mode }) => {
const root = process.cwd();
const viteEnv = loadEnv(mode, root);
// let isProd = (command === 'serve'); // 情景配置是否为开发模式 serve 或 build
return defineConfig({
// root: '',
base: loadEnv(mode, process.cwd()).VITE_BASE, // 开发或生产环境服务的公共基础路径。
base: viteEnv.VITE_BASE, // 开发或生产环境服务的公共基础路径。
// base: isProd ? '/' : '/f/voice/', // 开发或生产环境服务的公共基础路径。
// mode: '', // 在配置中指明将会把 serve 和 build 时的模式 都 覆盖掉。也可以通过命令行 --mode 选项来重写。
// define: '', // 定义全局常量替换方式。其中每项在开发环境下会被定义在全局,而在构建时被静态替换。
......@@ -37,11 +41,16 @@ export default({ command, mode }) => {
// mainFields: [''], // package.json 中,在解析包的入口点时尝试的字段列表。注意,这比从 exports 字段解析的情景导出优先级低:如果一个入口点从 exports 成功解析,主字段将被忽略。
// extensions: [''], // 导入时想要省略的扩展名列表。注意,不 建议忽略自定义导入类型的扩展名(例如:.vue),因为它会干扰 IDE 和类型支持。
},
// css: {
// modules: '', // 配置 CSS modules 的行为。选项将被传递给 postcss-modules。
// postcss: '', // 内联的 PostCSS 配置(格式同 postcss.config.js),或者一个(默认基于项目根目录的)自定义的 PostCSS 配置路径。其路径搜索是通过 postcss-load-config 实现的。 注意,如果提供了该内联配置,Vite 将不会搜索其他 PostCSS 配置源。
// preprocessorOptions: '', // 指定传递给 CSS 预处理器的选项。
// },
css: {
modules: '', // 配置 CSS modules 的行为。选项将被传递给 postcss-modules。
postcss: '', // 内联的 PostCSS 配置(格式同 postcss.config.js),或者一个(默认基于项目根目录的)自定义的 PostCSS 配置路径。其路径搜索是通过 postcss-load-config 实现的。 注意,如果提供了该内联配置,Vite 将不会搜索其他 PostCSS 配置源。
preprocessorOptions: {
less: {
javascriptEnabled: true,
additionalData: `@import "${path.resolve(__dirname, 'src/assets/styles/base.less')}";`
}
} // 指定传递给 CSS 预处理器的选项。
},
// json: {
// namedExports: true, // 是否支持从 .json 文件中进行按名导入。
// stringify: false, // 若设置为 true,导入的 JSON 会被转换为 export default JSON.parse("...") 会比转译成对象字面量性能更好,尤其是当 JSON 文件较大的时候。 开启此项,则会禁用按名导入。
......@@ -52,18 +61,19 @@ export default({ command, mode }) => {
// clearScreen: true, // 设为 false 可以避免 Vite 清屏而错过在终端中打印某些关键信息。命令行模式下请通过 --clearScreen false 设置。
server: {
host: '0.0.0.0',
port: 8006, // 本地服务端口
port: viteEnv.VITE_PORT, // 本地服务端口
// strictPort: true, // 设为true时若端口已被占用则会直接退出, 而不是尝试下一个可用端口
// https: '',
// open: false, // 在服务器启动时自动在浏览器中打开应用程序. 当此值为字符串时, 会被当作URL的路径名.
proxy: { // 代理
'/srv/': {
// target: 'http://voice.onwall.cn',
target: PROXY_TARGET,
changeOrigin: true,
// rewrite: (path) => path.replace(/^\/api/, '')
},
},
// proxy: { // 代理
// '/srv/': {
// // target: 'http://voice.onwall.cn',
// target: viteEnv.VITE_PROXY_TARGET,
// changeOrigin: true,
// // rewrite: (path) => path.replace(/^\/api/, '')
// },
// },
proxy: createProxy(viteEnv.VITE_PROXY_PREFIX, viteEnv.VITE_PROXY_TARGET),
// cors: '', // 为开发服务器配置 CORS。默认启用并允许任何源,传递一个 选项对象 来调整行为或设为 false 表示禁用。
// force: '', // 设置为 true 强制使依赖预构建。
// hmr: '', // 禁用或配置 HMR 连接(用于 HMR websocket 必须使用不同的 http 服务器地址的情况)。 设置 server.hmr.overlay 为 false 可以禁用服务器错误遮罩层。
......@@ -71,7 +81,7 @@ export default({ command, mode }) => {
},
build: {
// outDir: 'voice', // 指定输出路径(相对于项目根目录).
outDir: OUTDIR, // 指定输出路径(相对于项目根目录).
outDir: viteEnv.VITE_OUTDIR, // 指定输出路径(相对于项目根目录).
assetsDir: 'static',
rollupOptions: {
output: {
......