Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
920 views
in Technique[技术] by (71.8m points)

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share

2.1m questions

2.1m answers

63 comments

56.6k users

...