使用NodeJS所需的脚本内的函数required()

时间:2013-07-17 08:53:43

标签: javascript node.js function require

如何访问其中一个脚本内的功能"包含"使用Node的require()函数?

- 主js.js -

var webnotis = require('./modules/web-notification.js')

- 网络notification.js -

function getURL(host, path) {
...
}

另外,我如何在其他必需的脚本中使用此功能?


- 报告-tables.js -

var cltvOut;
exports.cltv = function cltv(getURL)
{
  clearTimeout(cltvOut);
  cltvOut = setTimeout(function(){
    if(exports.getURL('192.168.0.15', '/IMS4/Reports/calculateCLTV'))
    {
      cltv();
    } else {
      console.log('CLTV error.')
    }
  }, 2000);
}

webnotis2 = require('./web-notification.js')
var cltvOut;
exports.cltv = function cltv()
{
  clearTimeout(cltvOut);
  cltvOut = setTimeout(function(){
    if(webnotis2.getUrl('192.168.0.15', '/IMS4/Reports/calculateCLTV'))
    {
      cltv();
    } else {
      console.log('CLTV error.')
    }
  }, 2000);
}

3 个答案:

答案 0 :(得分:2)

如果它不是module.exports的一部分,那么你就不能。例如:

网络-notification.js

function getURL(host, path) {
...
}

module.exports = exports = {
    getURL: getURL
};

主要-js.js

var webnotis = require('./modules/web-notification.js');
webnotis.getURL(...);

答案 1 :(得分:0)

这称为导出模块。

来自here的示例:

创建一个./utils.js文件,并定义merge()函数,如下所示。

  function merge(obj, other) {

      //...
  };

  exports.merge = merge;

现在,utils中的另一个JS可以访问合并函数:

var utils = require('./utils');

utils.merge();

答案 2 :(得分:0)

   var webnotis = require('./modules/web-notification.js')
      var host='urhost';
      var path='urpath'; 
      webnotis.getURL(host,path,function(err,res){
         if(!err){
               console.log('url is '+res);
            }

      });

网络notification.js

     exports.getURL=function(host, path,cb) {
            var url=host+path;
             cb(null,url);
     }