Node.js 节点要求-i不';我不懂这个代码

Node.js 节点要求-i不';我不懂这个代码,node.js,mongoose,Node.js,Mongoose,我开始学习node.js和mongoose,我不理解下面的代码 我有两个文件:app.js和idea.js app.js idea.js 当我运行app.js时,没有发生错误。怎么可能呢?我没有从idea.js文件导出任何内容! app.js文件是如何访问ideas模型的?require被缓存。那么这个, let obj1 = require('an_object'); let obj2 = require('an_object'); 将在第一行中加载对象,并在第二行中从缓存中返回相同的对象。

我开始学习node.js和mongoose,我不理解下面的代码

我有两个文件:app.js和idea.js

app.js idea.js 当我运行app.js时,没有发生错误。怎么可能呢?我没有从idea.js文件导出任何内容!
app.js文件是如何访问ideas模型的?

require
被缓存。那么这个,

let obj1 = require('an_object');
let obj2 = require('an_object');
将在第一行中加载对象,并在第二行中从缓存中返回相同的对象。即使这两个需求在不同的文件中,这也适用。由于
obj1
obj2
是对同一对象的引用,如果
obj1
被修改,
obj2
也会被修改(因为它们是一个相同的对象)

你们并没有从想法中导出任何东西,但这并不重要;Idea的目的是修改猫鼬对象,而不是返回任何东西

简化:

// storage.js
exports.hello = 'Mumble mumble';

// mod_storage.js
let modding_storage = require('./storage');
modding_storage.hello = "Hello, world!";

// main.js
let main_storage = require('./storage');
require('./mod_storage');
console.log(main_storage.hello);
// => Hello, world!
mod_存储
已更改
modd_存储
,但
modd_存储
主_存储
是同一对象;更改一个,两个都更改。

要求('./models/Idea')
将加载(并运行)
Idea.js
,我假设(我不熟悉mongoose)mongoose1.model('ideas',IdeaSchema)注册
IdeaSchema
对象,然后使用
const Idea=mongoose.model('ideas')
let obj1 = require('an_object');
let obj2 = require('an_object');
// storage.js
exports.hello = 'Mumble mumble';

// mod_storage.js
let modding_storage = require('./storage');
modding_storage.hello = "Hello, world!";

// main.js
let main_storage = require('./storage');
require('./mod_storage');
console.log(main_storage.hello);
// => Hello, world!