TypeError [ERR_INVALID_CALLBACK]: Callback must be a function webpack启动报错

本文记录了在Node版本升级后,使用fs.write方法时遇到TypeError[ERR_INVALID_CALLBACK]错误的过程及解决办法。作者在启动web项目时遭遇此问题,通过查阅官方文档,发现参数类型不匹配,并成功通过修改参数类型解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TypeError [ERR_INVALID_CALLBACK]: Callback must be a function
今天启动web项目时突然报错

> webpack --progress --config webpack.dev.config.js

  0% compilingfs.js:129
  throw new ERR_INVALID_CALLBACK();
  ^

TypeError [ERR_INVALID_CALLBACK]: Callback must be a function
    at maybeCallback (fs.js:129:9)
    at Object.write (fs.js:533:14)
    at E:\code\PMS-web\webpack.dev.config.js:10:8
    at FSReqWrap.oncomplete (fs.js:141:20)

定位到报错语句webpack.dev.config.js:10:8

const buf = 'export default "development";';
fs.write(fd, buf, 0, buf.length, 0, function (err, written, buffer){});

一直好好的为啥突然报错了?查个官方文档先


写入string到文件时的fs.writer

fs.write(fd, string[, position[, encoding]], callback)
/*
fd <integer>
string <string>
position <integer>
encoding <string> 默认为 'utf8'。
callback <Function>

err <Error>
written <integer>
string <string>
*/

很明显参数对不上(╬ ̄皿 ̄)=○
按照文档修改一下

const buf = 'export default "development";';
fs.write(fd, buf, 0, 'utf-8', function (err, written, buffer){});

OK 成功启动!
查了下导致出现这个问题的原因,是因为我把我的Node版本升级了,node10的fs.write有更新!

所以,除了修改这段代码,把Node版本退回去也是ok的。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值