NodeJS 项目通过 webpack 打包成单文件,模块中使用了 fs 模块方法,运行时 fs 模块方法报错。

新手上路,请多包涵

问题描述

NodeJS 项目(不是运行在浏览器中的项目)通过 webpack 打包成单文件,但使用的模块中使用了 fs.readdirSync 方法查找文件夹内的 js 文件,并批量导入,导致成功打包后,运行时 fs.readdirSync 方法报错。

运行方法为 node index.js

注:index.js 为成功打包的单文件。

问题出现的环境背景及自己尝试过哪些方法

使用 mp-sdk 模块时出现该问题。使用 fs.readdirSync 方法查找文件夹内的 js 文件的代码位置

相关代码

# 使用的模块中使用 fs.readdirSync 方法查找文件夹内的 js 文件
const modules = fs.readdirSync(path.join(__dirname, '/modules')).filter(f => f.endsWith('.js')).map(f => f.replace(/.js$/, ''));

你期待的结果是什么?实际看到的错误信息又是什么?

希望成功打包后,能正常运行。目前运行时 fs.readdirSync 方法报错。

阅读 4.7k
1 个回答

webpack 的配置里加上 target: 'node' 就好了吧,参考target

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