|
|
1 year ago | |
|---|---|---|
| .. | ||
| dist | 1 year ago | |
| LICENSE | 1 year ago | |
| README.md | 1 year ago | |
| client.d.ts | 1 year ago | |
| package.json | 1 year ago | |
自动加载 modules
npm i vite-plugin-use-modules -D
// vite.config.js or vite.config.ts
import { defineConfig } from 'vite'
import Modules from 'vite-plugin-use-modules'
export default defineConfig({
plugins: [Modules()]
})
import { modules } from 'virtual:modules'
console.log(modules) // src/modules 的所有模块都会被获取到
src/modules 下的默认导出函数// eg: src/modules/router.ts
import { createRouter, createWebHistory } from 'vue-router'
const router = createRouter({
routes: [],
history: createWebHistory()
})
export default (app: App) => app.use(router)
import App from './App.vue'
import { createApp } from 'vue'
import { useModules } from 'virtual:modules'
const app = createApp(App)
useModules(app) // 这将注册所有的 Vue 插件
app.mount('#app')
如果你是 ts 项目,可以在 tsconfig.json 中添加如下配置
{
"compilerOptions": {
"types": ["vite-plugin-use-modules/client"]
}
}
import { defineConfig } from 'vite'
import Modules from 'vite-plugin-use-modules'
export default defineConfig({
plugins: [
Modules({
target: 'src/plugins' // 这将加载 src/plugins 下的模块,默认为 src/modules
})
]
})
import { defineConfig } from 'vite'
import Modules from 'vite-plugin-use-modules'
export default defineConfig({
plugins: [
Modules({
auto: true // 开启自动模式
})
]
})
开启后,虚拟模块的注册是非必需的
import App from './App.vue'
import { createApp } from 'vue'
- import { useModules } from 'virtual:modules'
const app = createApp(App)
- useModules(app)
app.mount('#app')
import { defineConfig } from 'vite'
import Modules from 'vite-plugin-use-modules'
export default defineConfig({
plugins: [
Modules({
normalize(target) {
return `'${target}/*.[tj]s'` // 返回扫描的 glob
}
})
]
})
欢迎关注 帝莎编程
Made with markthree
Published under MIT License.