返回列表
ThinkJS文件加载过程

think-loader包含了配置文件、controllerservice等所有文件加载的入口方法,在thinkjsapplication.js中进行调用将对应的模块挂载到think.app上

加载controller

loadController() {
    return common.load(this.appPath, 'controller', this.modules);
  }

load实现

 load(appPath, type, modules) {
        const itemCache = CommonLoader.loadFiles(path.join(appPath, item, type));
 }

loadFiles实现

1、使用helper工具类里面的getdirFiles方法读取指定目录下的文件,文件读取:fs.readdirSync(dir)

2、使用interopRequire方法引入模块 obj = require(obj);

loadFiles(dir) {
    const files = helper.getdirFiles(dir).filter(file => {
      return /\.js$/.test(file);
    });
    const cache = {};
    files.forEach(file => {
      const fileExport = interopRequire(filepath);
      cache[name] = fileExport;
    });
    return cache;
  },
点赞
收藏
分享
评论 0
亲爱哒,登录之后才可以发表评论哦~