~file.search(/^[^\.].*js$/)这句能啥意思?

来源:4-3 通过 mongoose 建模全局票据 access_token

拖车板牙爵士

2018-08-22

fs.readdirSync(models)
    .filter(file => ~file.search(/^[^\.].*js$/))
    .forEach(file => require(resolve(models,file)))

file前面为什么要加个~能详细解释下么

写回答

1回答

Scott

2018-08-24

~ 是按位取反,filter 掉找不到 .js 后缀名的文件路径,只加载 .js 后缀的文件,但是这个正则有点问题。


你可以换成这种写法:


glob.sync(resolve(__dirname, './schema', '**/*.js')).forEach(require)


首先 npm install 一个 glob,用 glob 这里来加载 JS 文件更方便

0
1
拖车板牙爵士
非常感谢!
2018-08-24
共1条回复

开发微信全家桶项目Vue/Node/MongoDB高级技术栈全覆盖

Nuxt/Vue SSR + Koa2 跨栈开发微信公众号+小程序

989 学习 · 401 问题

查看课程