如何从其他节点js文件中调用该函数

这些代码存储在单独的文件中,我试图从这个文件调用get方法到另一个nodejs,但是我只把[Function]作为输出。

任何人都可以告诉我如何从这个文件调用get方法到另一个节点的js文件

'use strict';
var createAPIRequest = require('../../lib/apirequest');
function Fitness(options) {
  var self = this;
  this._options = options || {};
  this.users = {
    dataSources: {
      get: function(params, callback) {
        var parameters = {
          options: {
            url: 'https://www.googleapis.com/fitness/v1/users/{userId}/dataSources/{dataSourceId}',
            method: 'GET'
          },
          params: params,
          requiredParams: ['userId', 'dataSourceId'],
          pathParams: ['dataSourceId', 'userId'],
          context: self
        };
        return createAPIRequest(parameters, callback);
      }     }   }; }

在这个文件中添加

module.exports = Fitness

然后你想用它的地方你就可以

var Fitness = require('./fitness');


我注意到的第一件事是'dataSources'属性在'用户'对象内部。所以你需要从外部访问users.dataSource来访问这个对象。

让事情顺利进行。

我在fitness.js上做了一些改变

'use strict';
var createAPIRequest = require('../../lib/apirequest');

function Fitness(options) {
    var self = this;
    this._options = options || {};
    this.users = {
    dataSources  : { // You have property 'dataSources' in users object that will be accessible via Fitness object(Publically)
        get: function(params, callback) {
          var parameters = {
              options: {
                url: 'https://www.googleapis.com/fitness/v1/users/{userId}/dataSources/{dataSourceId}',
                method: 'GET'
              },
              params: params,
              requiredParams: ['userId', 'dataSourceId'],
              pathParams: ['dataSourceId', 'userId'],
              context: self
            };
            return createAPIRequest(parameters, callback);
         }    
       }   
    }; 
}

module.exports = Fitness; // This will export your Fitness constructor

现在写一个下面的代码来访问另一个文件中的Fitness模块

var Fitness = require('pathToFitness/fitness.js');  // This will load your fitness module
var fitness = new Fitness(options); // Create object of class Fitness
fitness.users.dataSources.get();  // Access get() method 

get是一个内部函数,需要该类也被创建。 在你的模块中,你可以导出整个类:

module.exports.Fitness = Fitness;

在你的其他模块中:

var f = require('./Fitness'); /* given that Fitness.js is the name */
var fitness = new f.Fitness(...); /* call module.exports.Fitness of required file */
fitness.users.dataSources.get(...);

你尝试过吗? 如果是的话,你究竟在哪里得到一个错误?

链接地址: http://www.djcxy.com/p/97031.html

上一篇: How to call the function from other node js file

下一篇: Node says Jade has no method "renderFile", why?