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.5k
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的规范

推荐问题