javascript - 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
试图通过查看源代码来找出魔法。但这对我来说有点难以理解。
解决方案
推荐阅读
- sql - 是否可以创建一个额外的字段来指示要在另一个表中搜索的相关条目的数量?
- php - 在 Laravel 查询中使用 with 子句后不能使用 where 子句
- java - FeignClient API 具有不同的响应类
- javascript - 查找与工作表单元格中的值匹配的 Google 表格并执行一段代码
- excel - 使用批处理文件或 Excel 表创建由数字和字母组成的一系列值
- javascript - Vue.js - 在 Vuex 模块中获取当前路由
- c# - REST 不适用于已发布版本,可在本地工作
- android - android,在没有上下文或生命周期对象的情况下如何处置观察者
- google-apps-script - Google表格,从返回表格的函数中获取单个值
- node.js - Mongoose js - pushAll、concat 数组