网易严选小程序学习笔记 2

node.js后端

控制层controllers

代码

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))
  1. require()引入js库lodash和node模块fs、path
    1. lodash 是一套工具库,它内部封装了诸多对字符串、数组、对象等常见数据类型的处理函数(更多学习参考
    2. fs 是node的一个文件系统(File System)
    3. path 是处理文件路径的小工具,用于连接路径。该方法的主要用途在于,会正确使用当前系统的路径分隔符,Unix系统是"/",Windows系统是""
  2. 定义并导出函数mapDir,参数为path.join(__dirname),函数返回对象tree
  3. 在routes中的使用方法为:
const controllers = require('../controllers/index')
router.get('/index/index', controllers.home.index)

所以传入的参数path.join(__dirname) == ‘home/index’ (不确定,参考:网易严选小程序学习笔记 3

项目来源:cleversnail/mpvue-koa
学习参考:b站掘金

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值