index.js:import * as api from './api';export default api;api.js:import axios from 'axios';let base = '';export const requestLogin = params => { return axios.post(`${base}/login`, params).then(res => res.data); };export const getUserList = params => { return axios.get(`${base}/user/list`, { params: params }); };table.vue:import { getUserListPage, removeUser, batchRemoveUser, editUser, addUser } from '../../api/api';关于es6 封装方法以及导出导入有几个问题:(1)import * as api from './api'; export default api; 的作用是什么?(2)按 es6 的规范 import * as obj from "xxx" 会将 "xxx" 中所有 export 导出的内容组合成一个对象返回。如果都使用 es6 的规范,这个是很明确的。(3) 那么我们导出的对象在哪里使用了?为什么table.vue里面还是 从api.js 里面去取方法呢?
2 回答
莫回无
TA贡献1865条经验 获得超7个赞
(1) import * as api from './api'; // 将api里面的模块对象组合成一个对象,就是api(第二个),导入进来
export default api; // 这个文件把api作为默认导出
(3) 我们导出的对象,你在别的文件里面需要使用的话,就通过import { export } from "module-name"; 这种形式导入就好了。 因为在'../../api/api'这个文件里面,getUserListPage,removeUser...已经作为对象export出来了。
添加回答
举报
0/150
提交
取消