【问题标题】:How to use es6 import instead of require?如何使用 es6 import 而不是 require?
【发布时间】:2019-08-31 17:08:53
【问题描述】:

我想在我的文件中使用 import,但我找不到正确替换我的 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 命令导入?直接导入json文件的右分支?

【问题讨论】:

标签: javascript ecmascript-6 import export require


【解决方案1】:

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

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

第二个,如何使用'.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 中那样进行操作。

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

【讨论】:

    猜你喜欢
    • 2020-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-01
    • 2021-10-28
    • 1970-01-01
    • 1970-01-01
    • 2021-05-28
    相关资源
    最近更新 更多