Showing
5 changed files
with
61 additions
and
33 deletions
.env
0 → 100644
PRJCONFIG.js
deleted
100644 → 0
| 1 | import vue from '@vitejs/plugin-vue'; | 1 | import vue from '@vitejs/plugin-vue'; |
| 2 | import styleImport, { VantResolve } from 'vite-plugin-style-import'; | 2 | import styleImport, { VantResolve } from 'vite-plugin-style-import'; |
| 3 | import { defineConfig, loadEnv } from 'vite'; | 3 | import { defineConfig, loadEnv } from 'vite'; |
| 4 | -import { PROXY_TARGET, OUTDIR } from './PRJCONFIG' | 4 | +import { createProxy } from './build/proxy' |
| 5 | 5 | ||
| 6 | var path = require('path'); | 6 | var path = require('path'); |
| 7 | 7 | ||
| 8 | -export default({ command, mode }) => { | 8 | +export default ({ command, mode }) => { |
| 9 | + const root = process.cwd(); | ||
| 10 | + | ||
| 11 | + const viteEnv = loadEnv(mode, root); | ||
| 9 | // let isProd = (command === 'serve'); // 情景配置是否为开发模式 serve 或 build | 12 | // let isProd = (command === 'serve'); // 情景配置是否为开发模式 serve 或 build |
| 13 | + | ||
| 10 | return defineConfig({ | 14 | return defineConfig({ |
| 11 | // root: '', | 15 | // root: '', |
| 12 | - base: loadEnv(mode, process.cwd()).VITE_BASE, // 开发或生产环境服务的公共基础路径。 | 16 | + base: viteEnv.VITE_BASE, // 开发或生产环境服务的公共基础路径。 |
| 13 | // base: isProd ? '/' : '/f/voice/', // 开发或生产环境服务的公共基础路径。 | 17 | // base: isProd ? '/' : '/f/voice/', // 开发或生产环境服务的公共基础路径。 |
| 14 | // mode: '', // 在配置中指明将会把 serve 和 build 时的模式 都 覆盖掉。也可以通过命令行 --mode 选项来重写。 | 18 | // mode: '', // 在配置中指明将会把 serve 和 build 时的模式 都 覆盖掉。也可以通过命令行 --mode 选项来重写。 |
| 15 | // define: '', // 定义全局常量替换方式。其中每项在开发环境下会被定义在全局,而在构建时被静态替换。 | 19 | // define: '', // 定义全局常量替换方式。其中每项在开发环境下会被定义在全局,而在构建时被静态替换。 |
| ... | @@ -37,11 +41,16 @@ export default({ command, mode }) => { | ... | @@ -37,11 +41,16 @@ export default({ command, mode }) => { |
| 37 | // mainFields: [''], // package.json 中,在解析包的入口点时尝试的字段列表。注意,这比从 exports 字段解析的情景导出优先级低:如果一个入口点从 exports 成功解析,主字段将被忽略。 | 41 | // mainFields: [''], // package.json 中,在解析包的入口点时尝试的字段列表。注意,这比从 exports 字段解析的情景导出优先级低:如果一个入口点从 exports 成功解析,主字段将被忽略。 |
| 38 | // extensions: [''], // 导入时想要省略的扩展名列表。注意,不 建议忽略自定义导入类型的扩展名(例如:.vue),因为它会干扰 IDE 和类型支持。 | 42 | // extensions: [''], // 导入时想要省略的扩展名列表。注意,不 建议忽略自定义导入类型的扩展名(例如:.vue),因为它会干扰 IDE 和类型支持。 |
| 39 | }, | 43 | }, |
| 40 | - // css: { | 44 | + css: { |
| 41 | - // modules: '', // 配置 CSS modules 的行为。选项将被传递给 postcss-modules。 | 45 | + modules: '', // 配置 CSS modules 的行为。选项将被传递给 postcss-modules。 |
| 42 | - // postcss: '', // 内联的 PostCSS 配置(格式同 postcss.config.js),或者一个(默认基于项目根目录的)自定义的 PostCSS 配置路径。其路径搜索是通过 postcss-load-config 实现的。 注意,如果提供了该内联配置,Vite 将不会搜索其他 PostCSS 配置源。 | 46 | + postcss: '', // 内联的 PostCSS 配置(格式同 postcss.config.js),或者一个(默认基于项目根目录的)自定义的 PostCSS 配置路径。其路径搜索是通过 postcss-load-config 实现的。 注意,如果提供了该内联配置,Vite 将不会搜索其他 PostCSS 配置源。 |
| 43 | - // preprocessorOptions: '', // 指定传递给 CSS 预处理器的选项。 | 47 | + preprocessorOptions: { |
| 44 | - // }, | 48 | + less: { |
| 49 | + javascriptEnabled: true, | ||
| 50 | + additionalData: `@import "${path.resolve(__dirname, 'src/assets/styles/base.less')}";` | ||
| 51 | + } | ||
| 52 | + } // 指定传递给 CSS 预处理器的选项。 | ||
| 53 | + }, | ||
| 45 | // json: { | 54 | // json: { |
| 46 | // namedExports: true, // 是否支持从 .json 文件中进行按名导入。 | 55 | // namedExports: true, // 是否支持从 .json 文件中进行按名导入。 |
| 47 | // stringify: false, // 若设置为 true,导入的 JSON 会被转换为 export default JSON.parse("...") 会比转译成对象字面量性能更好,尤其是当 JSON 文件较大的时候。 开启此项,则会禁用按名导入。 | 56 | // stringify: false, // 若设置为 true,导入的 JSON 会被转换为 export default JSON.parse("...") 会比转译成对象字面量性能更好,尤其是当 JSON 文件较大的时候。 开启此项,则会禁用按名导入。 |
| ... | @@ -52,18 +61,19 @@ export default({ command, mode }) => { | ... | @@ -52,18 +61,19 @@ export default({ command, mode }) => { |
| 52 | // clearScreen: true, // 设为 false 可以避免 Vite 清屏而错过在终端中打印某些关键信息。命令行模式下请通过 --clearScreen false 设置。 | 61 | // clearScreen: true, // 设为 false 可以避免 Vite 清屏而错过在终端中打印某些关键信息。命令行模式下请通过 --clearScreen false 设置。 |
| 53 | server: { | 62 | server: { |
| 54 | host: '0.0.0.0', | 63 | host: '0.0.0.0', |
| 55 | - port: 8006, // 本地服务端口 | 64 | + port: viteEnv.VITE_PORT, // 本地服务端口 |
| 56 | // strictPort: true, // 设为true时若端口已被占用则会直接退出, 而不是尝试下一个可用端口 | 65 | // strictPort: true, // 设为true时若端口已被占用则会直接退出, 而不是尝试下一个可用端口 |
| 57 | // https: '', | 66 | // https: '', |
| 58 | // open: false, // 在服务器启动时自动在浏览器中打开应用程序. 当此值为字符串时, 会被当作URL的路径名. | 67 | // open: false, // 在服务器启动时自动在浏览器中打开应用程序. 当此值为字符串时, 会被当作URL的路径名. |
| 59 | - proxy: { // 代理 | 68 | + // proxy: { // 代理 |
| 60 | - '/srv/': { | 69 | + // '/srv/': { |
| 61 | - // target: 'http://voice.onwall.cn', | 70 | + // // target: 'http://voice.onwall.cn', |
| 62 | - target: PROXY_TARGET, | 71 | + // target: viteEnv.VITE_PROXY_TARGET, |
| 63 | - changeOrigin: true, | 72 | + // changeOrigin: true, |
| 64 | - // rewrite: (path) => path.replace(/^\/api/, '') | 73 | + // // rewrite: (path) => path.replace(/^\/api/, '') |
| 65 | - }, | 74 | + // }, |
| 66 | - }, | 75 | + // }, |
| 76 | + proxy: createProxy(viteEnv.VITE_PROXY_PREFIX, viteEnv.VITE_PROXY_TARGET), | ||
| 67 | // cors: '', // 为开发服务器配置 CORS。默认启用并允许任何源,传递一个 选项对象 来调整行为或设为 false 表示禁用。 | 77 | // cors: '', // 为开发服务器配置 CORS。默认启用并允许任何源,传递一个 选项对象 来调整行为或设为 false 表示禁用。 |
| 68 | // force: '', // 设置为 true 强制使依赖预构建。 | 78 | // force: '', // 设置为 true 强制使依赖预构建。 |
| 69 | // hmr: '', // 禁用或配置 HMR 连接(用于 HMR websocket 必须使用不同的 http 服务器地址的情况)。 设置 server.hmr.overlay 为 false 可以禁用服务器错误遮罩层。 | 79 | // hmr: '', // 禁用或配置 HMR 连接(用于 HMR websocket 必须使用不同的 http 服务器地址的情况)。 设置 server.hmr.overlay 为 false 可以禁用服务器错误遮罩层。 |
| ... | @@ -71,7 +81,7 @@ export default({ command, mode }) => { | ... | @@ -71,7 +81,7 @@ export default({ command, mode }) => { |
| 71 | }, | 81 | }, |
| 72 | build: { | 82 | build: { |
| 73 | // outDir: 'voice', // 指定输出路径(相对于项目根目录). | 83 | // outDir: 'voice', // 指定输出路径(相对于项目根目录). |
| 74 | - outDir: OUTDIR, // 指定输出路径(相对于项目根目录). | 84 | + outDir: viteEnv.VITE_OUTDIR, // 指定输出路径(相对于项目根目录). |
| 75 | assetsDir: 'static', | 85 | assetsDir: 'static', |
| 76 | rollupOptions: { | 86 | rollupOptions: { |
| 77 | output: { | 87 | output: { | ... | ... |
-
Please register or login to post a comment