【问题标题】:require() in node.js is not working and returns error?node.js 中的 require() 不起作用并返回错误?
【发布时间】:2015-01-30 10:22:30
【问题描述】:

我查看了 stackoverflow 并阅读了有关 require 的信息。但是我不明白为什么我的 require 函数没有运行。

app.js 代码:

var http = require('http');
var express = require("express");
var app = express();


//Twitter Search -------------------
app.get("/tweet, function(req,res){
        
    var twiter = require('twiter.js');
});


app.listen(3000);

twitter.js 代码:

console.log("twitter.js ran");

【问题讨论】:

  • 返回:错误:在 Function.Module._resolveFilename (module.js:338:15).. 等处找不到模块 'twiter.js'
  • 如果twiter.js 是一个文件,你需要一个相对路径。 require('./twiter')
  • twitter.js 位于哪里..?

标签: node.js module require


【解决方案1】:

确保app.jstwitter.js 在同一个目录中 并在其前添加./。只需使用以下

var twitter = require('./twitter'); // .js 扩展是不必要的

也正如 alexey 提到的那样。 twitertwitter 不同 :) 注意你的错别字。 (我想我是懒得细读了)

app.js

var http = require('http');
var express = require("express");
var app = express();


//Twitter Search -------------------
app.get("/tweet", function (req, res) {

    var twitter = require('./twitter');
    twitter.log();
});


app.listen(3000);

twitter.js 应该使用 module.exports 公开

var twitter = {
    log: function () {
        console.log('twitter is loaded');
    }
};
module.exports = twitter;

当你访问localhost:3000/tweet时,现在应该在你的控制台中打印“twitter is loaded”

【讨论】:

  • 还应该提到检查错别字。 twitertwitter 不一样
  • 谢谢你,你们俩都是对的,我在阅读最初的回复后注意到了错字。谢谢J
猜你喜欢
  • 2016-03-16
  • 2011-05-09
  • 1970-01-01
  • 2014-05-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-24
  • 2021-08-18
相关资源
最近更新 更多