如何使用es6 import代替require?

时间:2019-04-10 09:30:00

标签: javascript ecmascript-6 import export require

我想在文件中使用导入,但是我找不到正确替换需求的方法

查看我要替换的代码

const object = {
  first: require('../example/first.json').EXL.PUBLIC,
  second: require('../example/second.json').EXL.PUBLIC,
  third: require('../example/third.json').EXL.PUBLIC
}

第一个问题是如何将这些东西直接导入到对象中?就像我对require所做的一样?

第二个,如何与.EXL.PUBLIC命令一起使用import?要直接导入json文件的右分支吗?

1 个答案:

答案 0 :(得分:0)

  

第一个问题是如何将这些东西直接导入对象?

不能,您必须导入它们,然后将它们添加到对象中。

  

第二个,如何在'.EXL.PUBLIC'命令中使用导入?

您必须导入该项目,然后提取该属性。

我将假设您正在使用Node.js:

v8到v11

.mjs模块中,您可以这样操作:

import firstRoot from "../example/first.json";
import secondRoot from "../example/second.json";
import thirdRoot from "../example/third.json";

const object = {
  first: firstRoot.EXL.PUBLIC,
  second: secondRoot.EXL.PUBLIC,
  third: thirdRoot.EXL.PUBLIC
};

v12

您仍然可以像在v11中一样进行操作。

如果通过.js中新的"type": "module"package.json文件使用ESM,则需要添加--experimental-json-modules标志以启用JSON加载。有关v12支持here的更多信息,但请注意,尚不支持--type(如果支持--entry-type),并且JSON标志为--experimental-json-modules,不是--experimental-json-loader)。