【问题标题】:What is the difference between javascript require("file") vs require("file.js")?javascript require("file") 与 require("file.js") 有什么区别?
【发布时间】:2021-10-08 15:20:02
【问题描述】:

我有两个文件。

  • import.js
  • export.js

在导入时我会这样做:

const export = require('export')

这将成功地从 export.js 导入模块。当我做require('export.js')(文件结尾)时,它也在工作。

所以我想知道那里有什么区别?是不是比较慢?

【问题讨论】:

    标签: javascript ecmascript-6 module


    【解决方案1】:

    Node.js 会自动解析一些扩展。例如:.js、.json 等。不,有或没有扩展名都一样。

    【讨论】:

    • NodeJS 尝试的文件扩展名是否有特定的顺序?如果有两个同名文件怎么办?
    • 不可能有两个同名文件在同一个位置。
    • 文件有不同的扩展名是很有可能的。我不确定订单。但是按照常识,应该先试试 .js 扩展名。
    【解决方案2】:

    require in Node.js 接受一个参数,可以是模块名称或路径。您可以read了解更多信息。

    【讨论】:

    • 您已在文档中指出了正确的位置,但如果您包含其中描述的步骤,这将是一个有用的答案。 LOAD_AS_FILE(X)
    【解决方案3】:

    import/exportrequire 之间的区别在于 require 在底层使用 commonjs。而import 是在 ES6 中引入的。

    即使你使用 ES6 import,它仍然会被转译成commonjs。但是推荐使用 ES6,因为随着时间的推移,它会被广泛支持。

    性能方面的差异可以忽略不计,因为模块文件只评估一次,但如果您非常热衷于性能,则必须对其进行基准测试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-06
      • 2013-05-16
      • 2017-06-06
      • 1970-01-01
      • 1970-01-01
      • 2018-12-24
      • 1970-01-01
      相关资源
      最近更新 更多