node如何引入某个文件夹下的所有js文件?

import fs from 'fs';

const api = fs.readdirSync(__dirname).filter((value) => {
    return value !== 'index.js';//过滤自身
}).map(value => require('./' + value));

export default api;

还有其他办法吗?

阅读 13.4k
1 个回答

先关注一波,被楼主这么一说,感觉node貌似确实没有java之类package的概念

不过楼主有一种变通的方法,是我在读vue源码的时候发现的

目录下面可以有很多个 xxx.js文件,这些文件写好方法,然后export出去

接下来,重点来了,建一个index.js文件,这个文件引所有目录下面的xxx.js文件,然后再把方法导出去

xxx.js

export function method1(){}
export function method2(){}

xxx2.js

export const A = 1
export function method3(){

index.js

export * from './xxx.js'
export * from './xxx2.js'

楼主可以参考这里

另外如果楼主的node项目没有用babel来转义export和import的话,可以考虑使用commonjs的规范

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题