dwhear
  • 1
  • 新人请关照

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 方法报错。

阅读 73
评论 5月23日提问
    1 个回答

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

    评论 赞赏
      撰写回答

      登录后参与交流、获取后续更新提醒