require("dotenv").config();
const Twitter = require("twitter");
const keys = require("./keys");
const T = new Twitter(keys.twitter);

let params = {
screen_name: "TWITTER_NAME",
count: 20
}

function getTweets() {
T.get("statuses/user_timeline", params, gotTweets);
}

function gotTweets(error, data, response) {
if (error) {
    console.log("ERROR: " + error);
} else {
    let tweetLength = data.length;
    for (i = 0; i < tweetLength; i++) {
        console.log(JSON.stringify(data[i].text + " --- POSTED ON: " +
data[i].created_at, null, 2))
    }
}
}

我试图在node.js中运行函数getTweets()。我想运行类似“node app get tweets”的程序,让它调用getTweets()并在终端中将结果返回给我。我知道我可以在最后调用函数并运行node应用程序,但是我想在同一个模块中添加其他函数,比如postTweet()

最佳答案

一种方法是使用process.argv

function getTweets() {
    console.log('getTweets called');
}

function postTweets() {
    console.log('postTweets called')
}

var functionToCall = process.argv[2];

functionToCall && functionToCall();

您可以通过node app.js getTweets
argv中的前两项将是节点可执行文件的路径和正在执行的文件,后面是传递给应用程序的参数。

09-15 18:36