es6 import

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 里面去取方法呢?


拉莫斯之舞
浏览 937回答 2
2回答

RISEBY

import * as api from './api' 把模块对象以api名字导进来;export default api把api作为默认导出

莫回无

(1) import * as api from './api'; // 将api里面的模块对象组合成一个对象,就是api(第二个),导入进来export default api; // 这个文件把api作为默认导出(3) 我们导出的对象,你在别的文件里面需要使用的话,就通过import { export } from "module-name"; 这种形式导入就好了。 因为在'../../api/api'这个文件里面,getUserListPage,removeUser...已经作为对象export出来了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript