我的问题是,拥有多个相同的 require('path'/'module') 语句是否会对性能产生负面影响。
// Multiple require('path') statements
const express = require("express");
const app = express();
app
.route("/example")
.get(require("./api/api.js").example.get)
.put(require("./api/api.js").example.put)
.post(require("./api/api.js").example.post)
.delete(require("./api/api.js").example.delete);
与..相比
// Single require('path') statement
const express = require("express");
const app = express();
const api = require("./api/api.js");
app
.route("/example")
.get(api.example.get)
.put(api.example.put)
.post(api.example.post)
.delete(api.example.delete);
最佳答案
它可能会影响性能,但影响很小。同一模块的多个 require
(或 import
)不会再次运行该模块的代码 - 它所做的只是访问内存中已存在的模块的导出。 为了性能,这绝对不是值得担心的事情。这与一遍又一遍地访问对象的相同属性非常相似。
但是,为了可读性,第二个代码更加清晰,尽管您可以通过首先提取 example
属性来进一步减少重复性(并且可以微不足道地提高性能):
const { example } = require("./api/api.js");
app
.route("/example")
.get(example.get)
.put(example.put)
.post(example.post)
.delete(example.delete);
关于javascript - Node.js - 重复 require ('path'/'module' ) 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54952532/