Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 创建一个NodeJS模块_Javascript_Node.js - Fatal编程技术网

Javascript 创建一个NodeJS模块

Javascript 创建一个NodeJS模块,javascript,node.js,Javascript,Node.js,我试图用以下模式创建一个简单的NodeJS模块:module.exports=function(){}。 我的问题是,当我写exports.myFunc=myFunc它工作得很好,但是当我编写module.exports=myFunc它不工作 以下是我的一些代码片段: function.js: var myModule = require('./listFilesByExtArgs'); myModule.getFilesByExtArgs(process.argv[2], process.a

我试图用以下模式创建一个简单的NodeJS模块:
module.exports=function(){}
。 我的问题是,当我写
exports.myFunc=myFunc它工作得很好,但是当我编写
module.exports=myFunc它不工作

以下是我的一些代码片段:

function.js:

var myModule = require('./listFilesByExtArgs');

myModule.getFilesByExtArgs(process.argv[2], process.argv[3]);
var fs=require('fs');
var path=require('path');
var i=0;
函数getFilesByExtArgs(dir,ext){
fs.readdir(dir,function(err,data){

而(i这是因为
module.exports
exports.property
的行为不同。因此,当您编写
module.exports=myFunc;
时,您实际上将完整的模块作为func。它使用以下方法:

var myModule = require('./listFilesByExtArgs');
// In mymodule is actually alias to a func listFilesByExtArgs
myModule(process.argv[2], process.argv[3]);
你可以找到一个完整的答案

将myFunc函数导出为模块,同时

exports.myFunc = myFunc
将myFunc函数作为导出模块的myFunc属性导出

所以你要么使用

// case: module.exports = myFunc
var myModule = require('myModule');
myModule();


谢谢您的解释@vanadium23.8-空格缩进?Eww…@GabrielTomitsuka由Emacs自动缩进。。
// case: module.exports = myFunc
var myModule = require('myModule');
myModule();
// case: exports.myFunc = myFunc
var myModule = require('myModule');
myModule.myFunc();