nodejs需要声明问题
我是nodejs的新手。 我有以下文件和代码:
// file: myfunc.js function myfunc() { return "myfunc()"; } exports = myfunc;
和
// file: index.js var mf = require("./myfunc"); var mfunc = mf(); console.log(mfunc);
当我从命令行运行node index.js
,我得到的错误
var mfunc = mf() ^ TypeError: Object is not a function
为什么我得到这个错误? 我看到别人的代码,我粘贴下面,我试图按照相同的方法试图让require()
返回一个函数,而不是一个对象。
// file: index.js from another app var express = require('express'); var app = express();
为什么require('express')
可以返回一个函数,但是require('./myfunc')
不能返回一个函数?
它应该是…
module.exports = myfunc;
相反。 引用文档 :
如果您希望模块导出的根目录是一个函数(如构造函数),或者如果要在一个赋值中导出一个完整的对象,而不是一次构build一个属性,则将其分配给
module.exports
而不是exports
。