为什么这样做:
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 |
我收到错误:
$pdo= new PDO("mysql:host=$host; dbname=$dbname", $user, $pass);
答案 0 :(得分:9)
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
答案 1 :(得分:0)
export statement的主要原因是用于从给定文件(或模块)导出函数,对象或基元。
但是您需要一个标识符才能导出(以便可以通过另一个脚本中的import
导入)。
您可以这样做:
export const obj = {
str: 'stuff'
};
在import期间,您可以使用相同的名称obj
来引用相应的值。
然后导入它:
import { obj } from 'myLib';