使用 ES6 模块,我知道我可以为命名导入添加别名:
import { foo as bar } from 'my-module';
我知道我可以导入默认导入:
import defaultMember from 'my-module';
我想为默认导入添加别名,我认为以下内容可行:
import defaultMember as alias from 'my-module';
但这会导致解析(语法)错误。
我如何(或者我可以?)为默认导入添加别名?
defaultMember
已经是 一个别名 - 它不需要是导出函数/事物的名称。就做吧
import alias from 'my-module';
您也可以这样做
import {default as alias} from 'my-module';
但这相当深奥。
模块可以从自身导出功能或对象以供其他模块使用
模块用于:
为什么这很重要?
多个别名编译失败示例:
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';