在 ES6 模块中通过字符串访问导出函数

2024-03-08

考虑以下:

exports['handleEvent']('event');

export function handleEvent(event) {
  // do something with `event`
}

这在使用 babel 转译节点模块时有效,因为它将所有内容粘贴在导出对象上。 vanilla ES6 中有没有导出对象的概念?我希望能够使用其名称的字符串来调用方法。

我想到的一件事是将所有函数粘贴在一个对象上并单独导出它们。另一种选择是使用一些邪恶的 eval 东西。是否有通过字符串访问当前模块内的 ES6 导出的标准方法?


不太确定我遵循...

以下是 ES6 模块导入+导出的几个示例。其中有符合您要寻找的内容吗?

实施例1

制作人:

export function one() { return 1 };
export function two() { return 2 };

消费者:

import {one, two} from 'producer';

one();
two();

实施例2

制作人:

export function one() { return 1 };
export function two() { return 2 };

消费者:

import * as producer from 'producer';

producer.one(); // or producer['one']()
producer.two();

实施例3

制作人:

export default {
  one() { return 1 },
  two() { return 2 }
};

消费者:

import producer from 'producer';

producer.one(); // or producer['one']()
producer.two();

实施例4

制作人:

export default {
  one() { return 1 },
  two() { return 2 }
};

消费者:

import {one, two} from 'producer';

one();
two();

实施例5

制作人:

export default function() { return 1 };
export function two() { return 2 };

消费者:

import one, {two} from 'producer';

one();
two();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 ES6 模块中通过字符串访问导出函数 的相关文章

  • 纯函数可以异步吗?

    在浏览纯函数的定义时 它通常定义有两个特征 1 给定相同的输入应该产生相同的输出 2 不应产生任何副作用 这是否也意味着纯函数不应该是异步的 如果不是 怎么会这样 如果是的话 我很想看到 JavaScript 中异步纯函数的一些示例 是的
  • es6 import var 未在代码导入中定义

    出于某种原因 当我执行 var sphere new Core 时在游戏中 我看到核心未定义 即使我导入它 Game js import Core from gameUnits Core export class Game construc
  • Intellij 12 - 无法重新导入模块

    所以今天我遇到了一个奇怪的问题 我在 IntelliJ 中的一个模块遇到了一些问题 所以我决定尝试将其清除并从新的结账中重建它 我从 项目 窗口中删除了该模块 然后从我的文件系统中删除 重新下载 我回到 Intellij 并尝试导入该模块
  • 当每个人都对 OSGi 进行标准化时,为什么 Sun 还要发明另一个模块系统?

    Sun 在 JDK 模块化方面投入了大量精力 其形式为Jigsaw http openjdk java net projects jigsaw 并暗示它也应该成为其他 Java 开发人员选择的模块格式 使用此功能的唯一著名参与者是 NetB
  • 制作 SQL Server 转储并将该转储导入另一个 SQL Server 的最佳(最简单)方法

    我想从一台服务器在 SQL Server 中实现数据库导出 转储 并将该转储导入到另一台 SQL Server 中 并且不一定使用相同的架构名称 例如 如果我准备了一个数据库 其中包含用于为新客户实施新数据库的所有数据集 则该数据库名为 D
  • 使用webpack输出ES模块

    使用 Rollup 我可以通过简单地设置来输出 ES 模块format选项 es 我怎样才能用 webpack 做同样的事情 如果现在不可能的话 webpack 有计划添加吗 我在里面唯一找到的东西的文档output libraryTarg
  • Webpack 5 - 资产模块 - 缺少 url-loader 功能 - postTransformPublicPath

    我想按照建议切换到 webpack 5 asset 模块 不幸的是我错过了 webpack url loader 的函数 postTransformPublicPath path any gt any 由于我们应用程序的结构 资产的公共区域
  • 如何防止模块被导入两次?

    在编写python模块时 有没有办法防止它被客户端代码导入两次 就像 c c 头文件一样 ifndef XXX define XXX endif 非常感谢 Python 模块不会被多次导入 仅运行两次 import 不会重新加载模块 如果你
  • babel-loader 不适用于 webpack-dev-server

    var path require path module exports entry src index js output filename index js path path resolve dirname built publicP
  • 从平面数组创建嵌套对象

    我目前有一个对象数组 我正在尝试将其重塑为嵌套对象ID作为对象键 并将其作为目标ID与parentid 如果不是 0 我尝试了几种方法 但我很挣扎 主要绊脚石for me是超过一两层深度的任何东西 理想情况下 我需要它是动态的 这样它就可以
  • webpack 加载器并包含

    我是 webpack 的新手 我正在尝试了解加载器及其属性 例如测试 加载器 包含等 这是我在 google 中找到的 webpack config js 的示例片段 module loaders test js loader babel
  • ES6 模板文字可以在运行时替换(或重用)吗?

    tl dr 是否可以制作可重用的模板文字 我一直在尝试使用模板文字 但我想我就是不明白 现在我感到沮丧 我的意思是 我想我明白了 但 它 不应该是它的运作方式 或者它应该如何实现 它应该变得不同 我看到的所有示例 甚至标记模板 都要求 替换
  • 如何将数组与 setState 一起使用?

    我目前正在使用以下命令将数组映射到 setState 但没有设置任何内容 也没有记录任何错误 如果我明确地逐行写出它 它就会起作用 关于如何解决这个问题有什么想法或建议吗 使用数组设置状态 不设置状态 const myData messag
  • Prism / MEF:如何在不硬编码区域名称的情况下注册ViewWithRegion

    我们正在构建一个 WPF Prism 应用程序 我们有不同的开发人员从事不同的模块项目 并且多个模块被注入到主应用程序外壳中 主应用程序也是一个单独的项目 我们还希望能够在不同的应用程序中使用这些模块 我们不希望在每个应用程序中都使用相同的
  • ./types 的大小写与底层文件系统不匹配

    所以我从 eslint 收到了一些奇怪的警告 types 是流类型文件 我认为 eslint 将 checkbox 读取为小写 而实际上它是 Checkbox 大写 C I try git mv casesensitive tmp git
  • 类、模块、它们的特征类和方法查找

    我们来开公开课吧Module并向其中添加一个方法 class Module def foo puts phew end end 我可以通过这样做来调用这个方法 Class foo 这是可以理解的 因为类Class is Class 其超类是
  • Object.defineProperty:dom元素属性的setter

    我无法完全理解如何Object defineProperty适用于 dom 元素 在普通的 javascript 对象上它就像一个魅力 var obj name john Object defineProperty obj name get
  • 是否可以进行条件解构或有后备?

    我有一个具有许多深层嵌套属性的对象 我希望能够访问 MY KEY 上的属性 如下 但如果该属性不存在 则获取 MY OTHER KEY 我怎样才能做到这一点 const X Y MY KEY Values segments segment
  • 如何使用工厂函数解决 ES6 模块中的循环依赖关系?

    我想在我的里面写这样的东西src core Chessman js file import King from chessmen King class Chessman static factory side quality switch
  • Babel/RequireJS + typeof“RangeError:超出最大调用堆栈大小”

    我有一个非常基本的 JS 错误 我很羞愧无法解决它 我正在使用 ES6 和 Babel 进行开发 并且正在做一些实验 请注意 我在 Babel 中使用了这些参数 presets es2015 plugins transform es2015

随机推荐