js自動引入當前module文件夾下的所有文件


在用vuex的時候會遇到需要引入當前文件夾下的所有文件例如引入module文件夾下所有的js文件

通常可以再module文件夾下建一個index.js 文件,然后在index文件里統一export 導出

但其實可以更方便,require.context這個方法可以滿足需求,不需要再每次都要在index文件里導出了

eg: 

/**
 * 自動引入當前文件夾下所有module
 * require.context(directory, useSubdirectories = false, regExp = /^.//);
 * @param {String} directory 讀取文件的路徑
 * @param {Boolean} directory 匹配文件的正則表達式
 * @param {regExp} regExp 讀取文件的路徑
 */

const modulesFiles = require.context('./modules', true, /.js$/)
const modules = modulesFiles.keys().reduce((modules, modulePath) => {
  const moduleName = modulePath.replace(/^.\/(.*)\.js/,'$1')
  const value = modulesFiles(modulePath)
  modules[moduleName] = value.default
  return modules
  }, {})

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM