首页 > 解决方案 > REPL 中 NodeJs 预加载选项 (-r) 和显式要求之间的区别

问题描述

我正在使用esm这是一个非常有用的包来支持 ES 导入关键字。根据文档,在 REPL 中,它可以使用 preload 命令行选项来初始化它。IE node -r esm

或者在 REPL 中显式初始化:

require = require("esm")(module/*, options*/)
module.exports = require("./main.js")

基于 NodeJs 的帮助,-r是用require. 我的问题是为什么在 REPL 中我们不能只使用: require("esm")来实现与 preload option 相同的功能-r;相反,我们必须覆盖required上下文中的默认变量以使其工作。

esm试图通过查看源代码来找出魔法。但这对我来说有点难以理解。

标签: javascriptnode.jsmodulepreloades6-modules

解决方案


推荐阅读