1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- /* eslint-disable */
- import legacyPlugin from '@vitejs/plugin-legacy';
- // import usePluginImport from 'vite-plugin-importer';
- import * as path from 'path';
- import * as dotenv from 'dotenv';
- import * as fs from 'fs';
- import vuePlugin from '@vitejs/plugin-vue';
- // @see https://cn.vitejs.dev/config/
- export default ({
- command,
- mode
- }) => {
- let NODE_ENV = process.env.NODE_ENV || 'development'
- let envFiles=[
- `.env.${NODE_ENV}`
- ]
- for (const file of envFiles) {
- const envConfig = dotenv.parse(fs.readFileSync(file))
- for (const k in envConfig) {
- process.env[k] = envConfig[k]
- }
- }
- let rollupOptions = {};
- let optimizeDeps = {};
- let alias = {
- '@': path.resolve(__dirname, './src'),
- 'vue$': 'vue/dist/vue.runtime.esm-bundler.js',
- }
- let esbuild = {}
- return {
- base: './', // index.html文件所在位置
- root: './', // js导入的资源路径,src
- resolve: {
- alias,
- },
- define: {
- 'process.env': {}
- },
- server: {
- open:true,
- port: process.env.VITE_CLI_PORT,
- proxy:{
- // 把key的路径代理到target位置
- // detail: https://cli.vuejs.org/config/#devserver-proxy
- [process.env.VITE_BASE_API]: { // 需要代理的路径 例如 '/api'
- target: `${process.env.VITE_BASE_PATH}:${process.env.VITE_SERVER_PORT}/`, // 代理到 目标路径
- changeOrigin: true,
- rewrite: path => path.replace(new RegExp('^' + process.env.VITE_BASE_API), ''),
- }
- },
- },
- build: {
- target: 'es2015',
- minify: 'terser', // 是否进行压缩,boolean | 'terser' | 'esbuild',默认使用terser
- manifest: false, // 是否产出maifest.json
- sourcemap: false, // 是否产出soucemap.json
- outDir: 'dist', // 产出目录
- rollupOptions,
- },
- esbuild,
- optimizeDeps,
- plugins: [
- legacyPlugin({
- targets: ['Android > 39', 'Chrome >= 60', 'Safari >= 10.1', 'iOS >= 10.3', 'Firefox >= 54', 'Edge >= 15'],
- }), vuePlugin(),
- ],
- css: {
- preprocessorOptions: {
- less: {
- // 支持内联 JavaScript
- javascriptEnabled: true,
- }
- }
- },
- }
- }
|