我的问题是,拥有多个相同的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);
答案 0 :(得分:4)
它可能会影响性能,但影响很小。同一模块的多个require
(或import
)不会再次运行该模块的代码-它所做的只是访问内存中已经存在的模块的导出。出于性能考虑,绝对不必担心 。这类似于一次又一次地访问对象的相同属性。
为了便于阅读,第二个代码更加清晰,尽管您可以通过首先提取example
属性来进一步减少重复性(并以微不足道的数量提高性能):
const { example } = require("./api/api.js");
app
.route("/example")
.get(example.get)
.put(example.put)
.post(example.post)
.delete(example.delete);