Javascript 如何从包含对象列表的文件中导出对象,并在另一个文件中导入相同的对象以使用它?
如何从包含对象列表的文件中导出对象,并在另一个文件中导入相同的对象,以便能够使用它 //源文件示例Javascript 如何从包含对象列表的文件中导出对象,并在另一个文件中导入相同的对象以使用它?,javascript,node.js,ecmascript-6,Javascript,Node.js,Ecmascript 6,如何从包含对象列表的文件中导出对象,并在另一个文件中导入相同的对象,以便能够使用它 //源文件示例 const obj1 = { element1: { property1: value1, property2: value2, property3: value3}, element2: { property1: value1, property2: value2, property3: value3}, element3: { property1: value1, property
const obj1 = {
element1: { property1: value1, property2: value2, property3: value3},
element2: { property1: value1, property2: value2, property3: value3},
element3: { property1: value1, property2: value2, property3: value3},
element4: { property1: value1, property2: value2, property3: value3},
element5: { property1: value1, property2: value2, property3: value3},
}
const obj2 = {
element1: { property1: value1, property2: value2, property3: value3},
element2: { property1: value1, property2: value2, property3: value3},
element3: { property1: value1, property2: value2, property3: value3},
element4: { property1: value1, property2: value2, property3: value3},
element5: { property1: value1, property2: value2, property3: value3},
}
export ????
'use strict';
import ???
console.log(importedObject);
//从源文件导入主文件的示例
const obj1 = {
element1: { property1: value1, property2: value2, property3: value3},
element2: { property1: value1, property2: value2, property3: value3},
element3: { property1: value1, property2: value2, property3: value3},
element4: { property1: value1, property2: value2, property3: value3},
element5: { property1: value1, property2: value2, property3: value3},
}
const obj2 = {
element1: { property1: value1, property2: value2, property3: value3},
element2: { property1: value1, property2: value2, property3: value3},
element3: { property1: value1, property2: value2, property3: value3},
element4: { property1: value1, property2: value2, property3: value3},
element5: { property1: value1, property2: value2, property3: value3},
}
export ????
'use strict';
import ???
console.log(importedObject);
使用ES6静态命名/(ES6模块)语法:
/file-a.js
const obj1 = {
element1: { property1: value1, property2: value2, property3: value3},
element2: { property1: value1, property2: value2, property3: value3},
element3: { property1: value1, property2: value2, property3: value3},
element4: { property1: value1, property2: value2, property3: value3},
element5: { property1: value1, property2: value2, property3: value3}
}
const obj2 = {
element1: { property1: value1, property2: value2, property3: value3},
element2: { property1: value1, property2: value2, property3: value3},
element3: { property1: value1, property2: value2, property3: value3},
element4: { property1: value1, property2: value2, property3: value3},
element5: { property1: value1, property2: value2, property3: value3}
}
export {obj1, obj2};
import {obj1, obj2} from './file-a.js';
console.log(obj1);
console.log(obj2);
/file-b.js
const obj1 = {
element1: { property1: value1, property2: value2, property3: value3},
element2: { property1: value1, property2: value2, property3: value3},
element3: { property1: value1, property2: value2, property3: value3},
element4: { property1: value1, property2: value2, property3: value3},
element5: { property1: value1, property2: value2, property3: value3}
}
const obj2 = {
element1: { property1: value1, property2: value2, property3: value3},
element2: { property1: value1, property2: value2, property3: value3},
element3: { property1: value1, property2: value2, property3: value3},
element4: { property1: value1, property2: value2, property3: value3},
element5: { property1: value1, property2: value2, property3: value3}
}
export {obj1, obj2};
import {obj1, obj2} from './file-a.js';
console.log(obj1);
console.log(obj2);
您的环境是NodeJS吗?您有配置的构建过程吗?是的,简单的NodeJ,源文件服务于对象列表,其中另一个文件将从该源文件仅导入几个对象。它给出了:SyntaxError:无法在模块外使用导入语句。我不知道为什么…是的,因为ES6模块支持最近才添加。您有两个选项:向
包.json
文件添加“type”:“module”
,或者重命名文件以使用.mjs
扩展名而不是.js
。其他选择包括传输代码(参见BabelJS)或不使用ES6模块(不推荐)。如果问题仍然存在,请尝试更新包.json中的Node.Added“type”:“module”
,并解决了问题!非常感谢!:)