使用内联要求

2024-04-20

如果我使用内联要求,如下所示:

function something(...paths) {
  return require('path').join(...paths);
}

something('etc', 'etc');

每次调用时引擎都需要吗?例子:

let i = 10;
while (--i)
  something(i, 'etc');

谢谢。


系统会调用require()每次通过你的循环,但模块加载require()被缓存,并且模块加载代码仅在第一次加载模块时运行。因此,虽然有一点额外的开销调用require('path'),只是在缓存中查找该模块名称并返回缓存的模块句柄。不需要每次调用时都加载、解析和运行模块require().

也就是说,最好养成以下习惯:

const pathModule = require('path');

function something(...paths) {
  return pathModule.join(...paths);
}

您这样做的方式的另一个缺点是,第一次path模块加载后,系统将使用同步文件 I/O 来加载它,这在多用户服务器中不是一个好主意。文件 I/O 只是第一次发生,但仍然不是一个很好的实践。最好在服务器初始化时取消同步 I/O。

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

使用内联要求 的相关文章

随机推荐

  • 单选按钮上的 jQuery .change()

    我一定在这里遗漏了一些明显的东西 我无法理解 改变 http api jquery com change 触发单选按钮 我有下面的代码here http bjmarine net test html
  • CSS 图像精灵

    使用CSS图像精灵的唯一好处是减少http请求吗 或者还有其他好处吗 还有一种简单的方法可以确定要显示精灵的哪个区域的时间吗 正如您所说 主要优点之一是减少对服务器的请求数量 提高响应时间 特别是在加载大量小图像时 但这并不是人们使用精灵的
  • 计算 R 中数值向量的位数

    我在 R 中有一个数字向量 c 0 9 0 81 我想提取该向量中每个元素的位数 该命令将返回 在这种情况下 1 and 2因为数字是9 and 81 有方便的方法吗 另外 如果结果是1 如何扩展到两位数 例如 我希望返回的向量是 c 0
  • 坚持/提交在 Spring JPA JUnit 的测试环境中不起作用

    我正在尝试设置基本的 JPA 插入测试 但数据库中没有保存任何内容 数据库是Postgresql Hibernate 用作持久性提供者 提前谢谢了 Entity public class Currency Id GeneratedValue
  • 使用 Node.js 中的 fast-csv 包读取和写入 CSV

    我正在尝试编写一个简单的节点程序 该程序读取 csv 文件 提取列 比如第二列 并将其写入另一个 CSV 文件 我正在将内容读取到数组中 然后将该数组写入文件 每一步的阶段和数据 输入文件 123 456 789 abc def ghi 2
  • 如果不创建插件,则无法在 eclipse 中使用 JFace 和 SWT

    免责声明 这是 NET GUI 试图解决 JAVA 问题的典型案例 问题描述 我正在尝试使用 JFace 和 SWT 构建一个非常简单的 GUI 代码很简单 有很多教程 但不那么简单的是我似乎无法让 JFace 和 SWT 在插件项目之外工
  • React 元标签不适用于 Facebook

    我已经克隆了该应用程序https github com alanbsmith react node example https github com alanbsmith react node example并尝试使用反应头盔 https
  • 使用ggplot2和facet_wrap显示不同的轴标签

    我有一个包含不同变量和不同单位的时间序列 我想在同一个绘图上显示它们 ggplot 不支持多轴 正如这里所解释的 https stackoverflow com questions 3099219 plot with 2 y axes on
  • Chart.getSelection() 无法与谷歌条形图正常工作

    drawBarChart function data few statements goes here which sets options which are being passed to chartDraw i e t options
  • 使用 PHP 查找给定字符串中所有可能的 2 个字母组合 [重复]

    这个问题在这里已经有答案了 我试图找到给定字符串的所有可能的 2 个字母组合 有没有比按位置应用子字符串然后再次调用该函数更快的方法 以下是我正在尝试的 function permute str if strlen str lt 2 ret
  • 创建 Java 泛型类时尖括号中的波形符意味着什么?

    我正在阅读一些 JMockit 示例并发现以下代码 final List
  • 同步访问双向链表

    我正在尝试在 pthreads 环境中用 C 实现一个 特殊类型的 双向链表 但仅使用 C 包装的同步指令 如原子 CAS 等 而不是 pthread 原语 列表的元素是固定大小的内存块 几乎肯定无法容纳pthread mutex t等等
  • 适用于不同屏幕尺寸和密度组合的可绘制文件夹

    可绘制文件夹有什么用 低密度 中屏 低密度 大屏幕 低密度 超大屏幕 中等密度 小屏幕 中密度 大屏幕 中等密度 超大屏幕 对于平板电脑 低密度 中屏 drawable ldpi 低密度 大屏幕 drawable large ldpi 低密
  • R 对对象列表进行排序

    我有一个对象 key value 对列表 例如 列表 预测 1 1 1 0000000 0 8564264 2 1 2 0000000 0 1980792 我想按每个元素的第二个组成部分降序排列此列表 意味着按 0 8564264 和 0
  • 如何在 JPA 查询中编写 MAX 和 OVER (PARTITION BY) 函数

    我需要根据另一列 绘图编号 获取一列 修订版 最大值 谁能告诉我此功能的 JPA 查询 我编写了以下查询 但该查询不起作用 请帮助我如何在 JPA 查询中编写 MAX 和 OVER PARTITION BY 函数 Query select
  • 为什么我的输入不适合 div?

    我写了这个html和css代码 HTML div div h1 Seek enjoy h1 h3 Your movie seeker h3 div div div div
  • 使用反射实例化不可变对象

    我创建了一个基类来帮助我减少 C 中不可变对象初始化的样板代码 我使用延迟初始化是为了尽量不影响性能 我想知道这样做对性能有多大影响 这是我的基类 public class ImmutableObject
  • HashLocation 策略有什么缺点吗?

    我目前正在学习 Angular 我已经使用 HashLocation 实现了路由器 因为 PathLocation 在 Apache 服务器中不起作用 我浏览了各种帖子来解决这个问题 但最终不得不选择 Apache 的 HashLocati
  • 实体框架代码优先 - 将两个字段合并为一个集合

    我有这个型号和配置 public class Person public int FatherId get set public virtual Person Father get set public int MotherId get s
  • 使用内联要求

    如果我使用内联要求 如下所示 function something paths return require path join paths something etc etc 每次调用时引擎都需要吗 例子 let i 10 while i