如何使用require替代import导入模块并正常访问变量属性?
问题原因
@nut-tree/nut-js 按ES Module规范导出成员,使用require(CommonJS规范)直接导入时,返回值是完整的模块导出对象,不是你要的keyboard实例,直接访问该对象的config属性会得到undefined,赋值时就会触发你遇到的类型错误。
解决方案
导入时对require返回的模块对象做解构,取出keyboard成员即可,和ES Module的命名导入逻辑对应:
const { keyboard } = require("@nut-tree/nut-js") keyboard.config.autoDelayMs = 0
如果不想使用解构写法,也可以逐层访问模块对象的成员:
var nut = require("@nut-tree/nut-js") nut.keyboard.config.autoDelayMs = 0
内容的提问来源于stack exchange,提问作者MALON
相关产品推荐
相关产品推荐

