起源,解决方案和答案:
背景:
模块可以从自身导出功能或对象,以便在其他模块中使用
模块用于:
什么是导入别名?
导入别名是执行标准导入的位置,但不是使用导出模块预定义的名称,而是使用在导入模块中定义的名称。
为什么这很重要?
您可能正在导入多个导出的模块,但导出的名称(来自不同模块)是相同的,这会使JS感到困惑。别名解决了这个问题。
多个别名编译失败的示例:
Failed to compile.
/somepath/index.js
SyntaxError: /somepath/index.js: Identifier 'Card' has already been declared (6:9)
导入别名将允许您将名称相似的导出导入到模块中。
import { Button } from '../components/button'
import { Card } from '../components/card'
import { Card } from 'react-native-elements'
导入命名导出时(非默认值):
// my-module.js
function functionName(){
console.log('Do magic!');
}
export { functionName );
导入模块:
import { functionName as AliasFunction} from "my-module.js"
默认导出允许我们导出单个值或为您的模块提供回退值。
对于导入默认导出:
// my-module.js
function functionName(){
console.log('Do magic!');
}
export default functionName;
溶液
问题中提到的已经是一个别名,您可以将名称更改为您喜欢的任何名称。defaultMember
现在导入导出的函数 (functionName()
);
import AliasFunction from "my-module.js"
或者像这样(正如@Bergi所提到的):
import {default as AliasFunction} from 'my-module.js';