鍍金池/ 問答/HTML/ es6 import

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';

關(guān)于es6 封裝方法以及導(dǎo)出導(dǎo)入有幾個(gè)問題:
(1)import * as api from './api'; export default api; 的作用是什么?
(2)按 es6 的規(guī)范 import * as obj from "xxx" 會(huì)將 "xxx" 中所有 export 導(dǎo)出的內(nèi)容組合成一個(gè)對(duì)象返回。如果都使用 es6 的規(guī)范,這個(gè)是很明確的。
(3) 那么我們導(dǎo)出的對(duì)象在哪里使用了?為什么table.vue里面還是 從api.js 里面去取方法呢?

回答
編輯回答
陌如玉

(1) import * as api from './api'; // 將api里面的模塊對(duì)象組合成一個(gè)對(duì)象,就是api(第二個(gè)),導(dǎo)入進(jìn)來

export default api; // 這個(gè)文件把a(bǔ)pi作為默認(rèn)導(dǎo)出

(3) 我們導(dǎo)出的對(duì)象,你在別的文件里面需要使用的話,就通過import { export } from "module-name"; 這種形式導(dǎo)入就好了。 因?yàn)樵?../../api/api'這個(gè)文件里面,getUserListPage,removeUser...已經(jīng)作為對(duì)象export出來了。

2018年7月17日 01:55
編輯回答
殘淚

import * as api from './api' 把模塊對(duì)象以api名字導(dǎo)進(jìn)來;export default api把a(bǔ)pi作為默認(rèn)導(dǎo)出

2018年5月30日 09:51