Я работаю над проектом expressJS.У меня есть файл маршрута с именем send_email.js
, и я хочу использовать части этого файла из двух разных мест.Эти места index.js
и user.js
.Поэтому я добавил следующую строку для index.js
и users.js
:
const send_email = require("./send_mail");
Но user.js
выдает ошибку, поскольку send_email
не определено.А потом я просто удаляю ту же строку из index.js
и все идет хорошо.Я могу связаться с send_mail в user.js, и это то, чего я ожидаю.
Я что-то упускаю из виду, требуя файлы в expressJS?Я могу эффективно использовать эту технику в других проектах.Существуют ли какие-либо специфичные для expressJS вещи, которые вызывают эту ошибку?
Я создал такую же ситуацию в другом крошечном проекте и его кодах:
// ------------------------ index.js -----------------------
const express = require("express");
const app = express();
/* if coment this two line every thing goes fine */
const mylog = require("./deneme1").mylog;
mylog();
/* if coment this two line every thing goes fine */
const yourlog = require("./deneme2").yourlog;
const route = require("./deneme1").route;
console.log('route :', route);
yourlog();
app.get("/", (req, res)=>{
res.send("OK!");
})
app.listen(3000, () => { "listening on "+3000});
// -------------- deneme1.js -------------------------
const express = require("express");
const route = express.Router();
const yourlog = require("./deneme2").yourlog;
console.log('yourlog mmm:', yourlog);
route.get("/deneme", function(req, res){
mylog();
res.send("OK!");
});
function mylog () {
console.log("mylog in deneme1.js");
};
module.exports.route = route;
module.exports.mylog = mylog;
// ------------------ deneme2.js -----------------
const express = require("express");
const route = express.Router();
const mylog = require("./deneme1").mylog;
console.log('mylogxx :', mylog);
function yourlog(){
console.log("yourlog deneme2");
mylog();
console.log("----");
}
module.exports.yourlog = yourlog;
deneme1.js
и deneme2.js
требуют друг друга и express.js
требуют оба значения deneme1.js
и deneme2.js
.