squareArea在需要模块时不是函数

时间:2018-01-03 15:56:49

标签: javascript node.js

我制作了一组函数,但没有一个正在工作。这是其中之一,例如:

function squareArea(side) {
  var sArea = side * side;
  return sArea;
}

这就是我require模块的方式:

var mfs = require("m-p-formulas-js");
var test = mfs.squareArea(2);
console.log(test)

它返回此错误:

TypeError: mfs.squareArea is not a function

我该怎么做才能解决这个问题?

2 个答案:

答案 0 :(得分:3)

您没有导出该函数,因此它不存在于require d模块对象上。假设您正在使用ES5,请使用包含模块导出的module.exports

function squareArea(side) {
  var sArea = side * side;
  return sArea;
}
module.exports = {
  squareArea: squareArea
};

您还可以使用exports快捷方式将其缩短为:

exports.squareArea = squareArea;

答案 1 :(得分:1)

您需要导出该功能以使其他人可以使用。将以下内容添加到m-p-formulas-js模块定义的底部:

module.exports = {
    squareArea
}