first commit
This commit is contained in:
12
vite/plugins/auto-import.js
Normal file
12
vite/plugins/auto-import.js
Normal file
@@ -0,0 +1,12 @@
|
||||
import autoImport from 'unplugin-auto-import/vite'
|
||||
|
||||
export default function createAutoImport () {
|
||||
return autoImport({
|
||||
imports: [
|
||||
'vue',
|
||||
'vue-router',
|
||||
'vuex'
|
||||
],
|
||||
dts: false
|
||||
})
|
||||
}
|
||||
27
vite/plugins/compression.js
Normal file
27
vite/plugins/compression.js
Normal file
@@ -0,0 +1,27 @@
|
||||
import compression from 'vite-plugin-compression'
|
||||
|
||||
export default function createCompression (env) {
|
||||
const { VITE_BUILD_COMPRESS } = env
|
||||
const plugin = []
|
||||
if (VITE_BUILD_COMPRESS) {
|
||||
const compressList = VITE_BUILD_COMPRESS.split(',')
|
||||
if (compressList.includes('gzip')) {
|
||||
plugin.push(
|
||||
compression({
|
||||
ext: '.gz',
|
||||
deleteOriginFile: false
|
||||
})
|
||||
)
|
||||
}
|
||||
if (compressList.includes('brotli')) {
|
||||
plugin.push(
|
||||
compression({
|
||||
ext: '.br',
|
||||
algorithm: 'brotliCompress',
|
||||
deleteOriginFile: false
|
||||
})
|
||||
)
|
||||
}
|
||||
}
|
||||
return plugin
|
||||
}
|
||||
14
vite/plugins/index.js
Normal file
14
vite/plugins/index.js
Normal file
@@ -0,0 +1,14 @@
|
||||
import vue from '@vitejs/plugin-vue'
|
||||
|
||||
import createAutoImport from './auto-import'
|
||||
import createCompression from './compression'
|
||||
import createSetupExtend from './setup-extend'
|
||||
import createSetupMock from './setup-mock'
|
||||
export default function createVitePlugins (viteEnv, isBuild = false) {
|
||||
const vitePlugins = [vue()]
|
||||
vitePlugins.push(createAutoImport())
|
||||
vitePlugins.push(createSetupExtend())
|
||||
vitePlugins.push(createSetupMock())
|
||||
isBuild && vitePlugins.push(...createCompression(viteEnv))
|
||||
return vitePlugins
|
||||
}
|
||||
5
vite/plugins/setup-extend.js
Normal file
5
vite/plugins/setup-extend.js
Normal file
@@ -0,0 +1,5 @@
|
||||
import setupExtend from 'vite-plugin-vue-setup-extend'
|
||||
|
||||
export default function createSetupExtend () {
|
||||
return setupExtend()
|
||||
}
|
||||
9
vite/plugins/setup-mock.js
Normal file
9
vite/plugins/setup-mock.js
Normal file
@@ -0,0 +1,9 @@
|
||||
import { viteMockServe } from "vite-plugin-mock";
|
||||
export default function createSetupMock () {
|
||||
return viteMockServe({// 更多配置见最下方
|
||||
mockPath: "./mock/", //mock文件地址
|
||||
injectCode: ` import { setupProdMockServer } from './mockProdServer'; setupProdMockServer(); `,
|
||||
logger: false, //是否在控制台显示请求日志
|
||||
supportTs: false //打开后,可以读取 ts 文件模块。 请注意,打开后将无法监视.js 文件
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user