webpack
-
webpack 中是使用 require.context() 来查找文件内容的
-
它允许您传入要搜索的目录、搜索子目录的标志以及匹配文件的正则表达式
-
应用场景:
- 比如使用动态路由的时候 会按照路由的目录结构来创建路由
- 那么可以使用该函数去取得所有的路由路径
const routeFiles = require.context('@/router/main', true, /.ts/)
// 里面是所有的 ts 文件的路径 相对于 main 的
// .production/goods/goods.ts
routeFiles.keys().forEach((key: string) => {
// 拼接出路由使用的路径
const route = require('../router/main' + key.split('.')[1])
allRoutes.push(route.default)
})
vite
- import.meta.glob()
const routeFiles = import.meta.glob('@/router/main/**/*.ts')
console.log(routeFiles)
for (const path in routeFiles) {
allRoutes.push(routeFiles[path].default)
}