nodejs webappを開発していますが、問題があります。 他のファイルで使用するいくつかの関数を公開するtwitter.jsモジュールがあります。 メインアプリケーションのapp.jsが正しくインポートされ、関数を使用できます。 問題は、別の.jsファイル(var twitter = require(./ twitter)メソッド経由)に読み込んだら読み込まれないため、console.log(twitter)で見ることができます。機能を認識しません。 これは、app.jsに必要な場合に発生します。私はtwitter.jsファイルをコピーして別の名前をつけました。インポートした場合は動作します。 この問題を解決するにはどうすればよいですか? おかげnodejsでrequire()を使用してモジュールをインポートできません
EDIT:
var Twitter = require('twitter'); //import package
var mongo = require("./mongo");
var T = new Twitter({ ---developer keys here --})
exports.getTrends = function(res){
var params = { id: 23424853, count: 10}
T.get('trends/place',params,gotData);
function gotData(err,data,response){
res.render('tweets',{ data: data[0], length: 10});}
}
exports.postTwit = function(value){
T.post('statuses/update', {status:value}, function(error, tweet, response) {
mongo.pushdata(tweet.id_str);
});
}
exports.loadTwit = function(res,value){
var params = {id: value}
T.get('statuses/show/', params, function (err, data, response) {
console.log(data);
res.render('db',{ data: data});
});
}
、最終的にはモンゴ:いくつかのコード
これがメインのアプリでの追加は、
var express = require("express");
var bodyParser = require("body-parser");
var path = require("path");
var twitter = require("./twitter");
var mongo = require("./mongo");
var app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:false}))
app.use(express.static(path.join(__dirname,'public')));
app.set('view engine','ejs');
app.set('views',path.join(__dirname,'views'));
app.get("/",function(req,res){
res.render("index.ejs")
});
app.get("/twitter",function(req,res){
twitter.getTrends(res);
});
app.post("/sendMessage",function(req,res){
twitter.postTwit(req.body.valore);
});
app.get("/pullData",function(req,res){
mongo.pullData(res);
});
app.listen(8080, function(){
console.log("server started on 8080");
});
次はtwitter.jsファイルですapp.js .jsファイル、mongoデータベース用
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/mydb";
var twitter = require('./twitter');
exports.pushdata = function(value){
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var myobj = {id: value};
db.collection("tweets").insertOne(myobj, function(err, res) {
if (err) throw err;
db.close();
});
});
}
exports.pullData = function(res){
MongoClient.connect(url, function(err, db) {
if (err) throw err;
db.collection("tweets").find({}).toArray(function(err, result) {
result.forEach(function(entry) {
twitter.loadTwit(res,entry);
});
db.close();
});
});
}
これらのファイルはすべて同じフォルダにあります。
これをテキストの問題からコードの問題に変換できますか? – thebjorn
構造をファイルし、ファイルコードをインポートするサンプルコードはありますか? – zabusa
あなたのコードのサンプルであなたの質問に答える方がはるかに簡単です。 –