我的节点应用程序需要获取文件夹的路径并从那里读取所有文件。
e.g
moduleA
-server.js
-controller
--load.js
在load.js我方法(loadFolderFiles
)中应该获取文件路径
路径并加载它的所有文件。
现在从模块B我需要moduleA并添加文件夹路径来读取文件
应用程序B结构如下:
appB
-src
--files
---fileA.js
---fileB.js
-server.js
在appB server.js内部,我正在执行以下操作(加载moduleA)
var moduleA = require('moduleA')
moduleA.loadFolderFiles('/appB/src/files')
moduleA.start();
现在moduleA将开始加载提供的路径的文件(我想使用glob
)。
我的问题是:
2.我应该如何提供它的路径(相对/绝对)并读取文件 来自模块appB?
这是" moduleA"在npm(用于测试) https://www.npmjs.com/package/samplenodeapp
这是moduleB加载moduleA的代码
var sample = require('samplenodeapp');
sample.start();
我公开模块a的代码如下所示
var express = require('express');
var loadModule = require('./controller/load')
var app = express();
function start (){
app.listen(3001, function () {
console.log("App is listenting on port 3000");
})
}
module.exports = {
start:start,
loadModule:loadModule
};
正如你所看到的,我从控制器/加载中公开了方法,如下所示(为loadFolderFiles提供api,是否可以?
答案 0 :(得分:1)
如果需要设置加载文件夹,我建议将其移至start
参数或模块设置。
var moduleA = require('moduleA')({ loadFolder: '/path/to/folder' });
// or
var moduleA = require('moduleA');
moduleA.start({ loadFolder: '/path/to/folder' });
如果您选择将其移至模块设置,则应从该模块导出功能。
var createLoader = require('./controller/load');
module.exports = function (params) {
// params === { loadFolder: '/path/to/folder' }
var loadModule = createLoader(params.loadFolder);
return {
start: start,
loadModule: loadModule
}
};