从单个导出使用导入*

时间:2018-07-06 14:59:31

标签: javascript

我不习惯经常见到import *

我正在使用的react + readux代码使用import *

根据有关import *的Firefox文档

  

这会将myModule插入当前范围,其中包含所有   从模块中的文件导出到/modules/my-module.js中。

假设我们的代码中有一个这样的export语句(称为articleTypes.js)。

export const ARTICLES_FETCHED = 'articles.ARTICLES_FETCHED';

这样做,实际上我们在上面没有使用导出默认值很有意义

import * as types from './actionTypes'

但是,如果我们像这样改变以上几行

export default const ARTICLES_FETCHED = 'articles.ARTICLES_FETCHED';

做这样的事情

 import types from './actionTypes'

它的工作方式与上面的代码相同吗?或这实际工作吗?会不会是更好的方法?

1 个答案:

答案 0 :(得分:2)

  

但是如果我们这样改变上面的行

export default const ARTICLES_FETCHED = 'articles.ARTICLES_FETCHED';
     

做这样的事情

import types from './actionTypes'
     

它的工作方式与上面的代码相同吗?   它会和上面的代码一样工作吗?

否,types等于'articles.ARTICLES_FETCHED'

另一方面,此模块:

export default {ARTICLES_FETCHED: 'articles.ARTICLES_FETCHED'}

将与该模块相同:

export const ARTICLES_FETCHED = 'articles.ARTICLES_FETCHED'

使用import * as myVar from 'module'的主要好处是,您可以将module的所有导出包装在一个整洁的变量myVar中。