为什么这样做:
const str = 'stuff';
export {
str
};
但不是这个:
export default {
str: 'stuff'
};
我想将其导入如下:
import { str } from 'myLib';
我想直接在导出中分配值,而不需要事先创建变量。
当我尝试时:
export {
str: 'stuff'
};
我收到错误:
SyntaxError: /home/karlm/dev/project/ex.js: Unexpected token, expected , (41:5)
39 |
40 | export {
> 41 | str: 'stuff'
| ^
42 | };
43 |
ES6中有两种出口形式 - “正常”出口和默认出口。正常导出使用以下语法导出:
export const str = 'stuff';
// or
const str = 'stuff';
export {str};
默认导出如下:
export default const str = 'stuff';
// or
export default {
str: 'stuff'
};
导入时会显示差异。首先,你需要包括大括号:
import {str} from 'myModule'; // 'stuff', from the first example
没有大括号,它会导入默认导出:
import myModule from 'myModule'; // {str: 'stuff'}, from the second example
主要原因是 出口声明 用于从给定文件(或模块)导出函数,对象或基元。
但是您需要一个标识符才能导出(以便可以通过它导入它) import
在另一个脚本)。
你可以简单地做:
export const obj = {
str: 'stuff'
};
在此期间 进口,您将能够使用相同的名称 obj
引用相应的值。
并导入它像:
import { obj } from 'myLib';