Node.js で他のファイルの関数を「インクルード」するにはどうすればいいですか? 質問する

Node.js で他のファイルの関数を「インクルード」するにはどうすればいいですか? 質問する

app.js というファイルがあるとします。非常に簡単です:

var express = require('express');
var app = express.createServer();
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.get('/', function(req, res){
  res.render('index', {locals: {
    title: 'NowJS + Express Example'
  }});
});

app.listen(8080);

「tools.js」内に関数がある場合はどうなりますか。それらを apps.js で使用するためにインポートするにはどうすればよいでしょうか?

それとも、「ツール」をモジュールに変換してから、それを要求する必要があるのでしょうか? << 難しそうなので、tools.js ファイルの基本的なインポートを行う方がよいでしょう。

ベストアンサー1

任意の js ファイルを require できます。公開するものを宣言するだけです。

// tools.js
// ========
module.exports = {
  foo: function () {
    // whatever
  },
  bar: function () {
    // whatever
  }
};

var zemba = function () {
}

アプリファイルでは次のようになります:

// app.js
// ======
var tools = require('./tools');
console.log(typeof tools.foo); // => 'function'
console.log(typeof tools.bar); // => 'function'
console.log(typeof tools.zemba); // => undefined

おすすめ記事