代码
mpvue-shop-node/controllers/index.js
const _ = require('lodash')
const fs = require('fs')
const path = require('path')
// 映射 d 文件夹下的文件为模块
const mapDir = d => {
const tree = {}
// 获取当前文件夹下的所有文件夹和文件,分成两组,文件夹一组,文件一组
const [dirs, files] = _(fs.readdirSync(d)).partition(p => fs.statSync(path.join(d, p)).isDirectory())
// 映射文件夹
dirs.forEach(dir => {
tree[dir] = mapDir(path.join(d, dir))
});
// 映射文件
files.forEach(file => {
// 获取文件后缀名字
if (path.extname(file) === '.js') {
tree[path.basename(file, '.js')] = require(path.join(d, file))
}
})
return tree
}
// 默认导出当前文件夹下的映射
module.exports = mapDir(path.join(__dirname))
path.join(__dirname)
,函数返回对象treeconst controllers = require('../controllers/index')
router.get('/index/index', controllers.home.index)
所以传入的参数path.join(__dirname) == ‘home/index’ (不确定,参考:网易严选小程序学习笔记 3)
项目来源:cleversnail/mpvue-koa
学习参考:b站、掘金
本文地址:https://blog.csdn.net/u014219356/article/details/107379667
如对本文有疑问, 点击进行留言回复!!
JavaScript中某一标签内函数用this获取不到当前标签的问题笔记
MSAL.js 2.0发布 支持授权代码流 (authorization code flow)
网友评论