Node JS require不起作用

时间:2016-04-13 07:45:58

标签: javascript node.js

你好我正在修复这个问题2-3个小时..它起初正在工作,我把一些代码移到了另一个文件中,并且需要该文件使它更清洁然后繁荣再也无法工作了。

require('./mongooschema.js');

console.log(Mesaj);


/// SECOND FILE mongooschema.js

var mongoose = require('mongoose');
mongoose.connect('mongodb://"""""""/"""""""');

var Schema = mongoose.Schema;

var mesajSchema = new Schema({
    mesaj: 'String',
    size: 'string'
});

var Mesaj = mongoose.model('Mesaj', mesajSchema);
module.exports = Mesaj;

3 个答案:

答案 0 :(得分:0)

您需要使用module.exports返回一个界面。

它与基本上扩展文件内容的其他语言不同。

Further reading

答案 1 :(得分:0)

如果您导出某些内容,则必须要求()它才能到达它。

在这种情况下你可以做到。

var Mesaj = require('./mongooschema.js');

console.log(Mesaj);

如果您只需要require('./mongooschema.js');之类的东西而不将其分配给某个变量,则会执行所需或导出文件的内容,但导出的内容仍然无法访问。所以如果你添加

console.log(Mesaj)在导出之前,它将被打印出来。

var Mesaj = mongoose.model('Mesaj', mesajSchema);
console.log(Mesaj);
module.exports = Mesaj;

答案 2 :(得分:0)

require函数就像函数一样,它不像其他语言中的include指令。

所以,为了让它成功,你需要:

  • 使用module.exports文件中的mongooschema.js导出所需内容,如下所示:

    module.exports = Mesaj
    
  • 在主文件中使用require功能结果,即module.exports内容

    var Mesaj = require('./mongooschema.js');