vue3 怎么根据views文件夹里的vue文件来自动生成路由?代码怎么实现?需要npm install 才能生成路由吗?在Vue3中可以使用Vue Router来实现根据views文件夹里的Vue文件自动生成路由。不需要额外安装插件Vue Router是Vue官方提供的路由库。首先需要在项目中安装Vue Router:npm install vue-routernext然后在项目的src目录下创
在Vue 3中,import.meta.glob是一个新的特性,用于在构建时动态地导入模块。但是,由于import.meta.glob目前还不是标准的JavaScript语法,因此在普通的JavaScript文件中无法直接使用。
解决这个问题的方法是使用Vue CLI提供的插件@rollup/plugin-replace,它可以在构建时将import.meta.glob替换为实际的值。
首先,需要在项目中安装@rollup/plugin-replace插件:
npm install --save-dev @rollup/plugin-replace
然后,在项目的根目录下创建一个rollup.config.js文件,并添加以下内容:
import replace from '@rollup/plugin-replace'
export default {
// ...
plugins: [
replace({
'import.meta.glob': '__non_webpack_require__'
})
]
}
接下来,需要调整router/index.js文件的代码,将import.meta.glob替换为__non_webpack_require__:
import { createRouter, createWebHistory } from 'vue-router'
const routes = []
const router = createRouter({
history: createWebHistory(),
routes
})
// 自动导入views文件夹下的所有Vue文件
const modules = __non_webpack_require__.glob('../views/**/*.vue')
Object.keys(modules).forEach(key => {
const name = key.match(/\.\/(.*)\.vue$/)[1]
routes.push({
path: '/' + name.toLowerCase(),
component: modules[key].default
})
})
export default router
通过以上步骤,就可以在Vue 3中根据views文件夹里的Vue文件自动生成路由了
原文地址: http://www.cveoy.top/t/topic/isoz 著作权归作者所有。请勿转载和采集!