js导出对象自动合并
- 项目目录结构
├── src
│ ├── apis
│ ├── user
│ ├── userApi.js
│ ├── home
│ ├── homeApi.js
│ ├── order
│ ├── orderApi.js
│ ├── index.js
│ ├── main.js
- userApi
export const getUserList = () => {
// 接口代码
}
- index.js
vue2 webpack 中使用 require.context
const context = require.context("./", true, /Api\.js$/)
const apis = context.keys().filter(item => item.startsWith("apis/")).reduce((apis, key) => {
Object.assign(apis, context(key))
return apis
}, {})
Object.keys(apis).forEach(key => console('api方法名称', key))
export default apis
- main.js
import apis from '@/apis/index.js'
// 添加到全局
Vue.prototype.$apis = apis
vue2 中调用api接口
export default {
methods: {
async loadData() {
const res = await this.$apis.getUserList();
}
}
}