# pomelo-loader **Repository Path**: ansser_admin/pomelo-loader ## Basic Information - **Project Name**: pomelo-loader - **Description**: pomelo-loader - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-08-16 - **Last Updated**: 2024-04-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #pomelo-loader - loader module for pomelo Load codes for pomelo based on the convention over configuration rules. pomelo-rpc could load modules in batch but not load the sub-directory recursively. + Tags: node.js ##Regulation Module name Module would use the filename by default. For example: load ```lib/a.js``` and the return result would be: ```{a: require('./lib/a')}``` It would use the name if the module with a name property. For example ```javascript a.js exports.name = 'test'; ``` the return result would be: ```{test: require('./lib/a')}``` Module definiation If the module exported as a function, pomelo-loader would take it as a factory method and generate a new instance of module by calling the function. And it would return the module directly for other situation. ```javascript module.exports = function(context) { return {}; // return some module instance }; ``` ##Installation ``` npm install pomelo-loader ``` ##Usage ``` javascript var Loader = require('pomelo-loader'); var res = Loader.load('.'); console.log('res: %j', res); ``` ##API ###Loader.load(path, context) Load all modules in the path. ####Parameters + path loaded path + context if the module provides a factory method, the context would be pass as a parameter as the factory method.