webpack5打包path-exists@5.0.0后,运行时报错:cannot find module 'node:fs'

webpack5打包path-exists@5.0.0后,运行时报错:cannot find module 'node:fs'

问题描述:

utils.js文件中引入的path-exists是5.0.0版本,用webpack5【已配置target:'node'】打包js文件没有报错。但是运行脚手架命令时报错:cannot find module 'node:fs'。


相关代码:

// path-exists/index.js

import fs, {promises as fsPromises} from 'node:fs';
...

相关截图:

http://img1.sycdn.imooc.com//climg/6115bda7096e63df09800622.jpg

http://img1.sycdn.imooc.com//climg/6115bdd6099d83dd07570769.jpg

尝试过的解决方式:

我将path-exists降级到@4.0.0版本后,编译后运行没有报错。@5.0.0报错找不到'node:fs'模块。


我的问题是:

1、"node:fs"是什么含义?

2、为什么要用这种写法?

3、webpack要怎么样才能支持node:fs这种写法?


本地环境信息说明:

node@14.17.3

webpack@5.50.0

webpack-cli@4.7.2

path-exists@5.0.0


期待老师的解答,非常感谢~

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
irebirth 2021-10-26 23:16:58

path-exists的API改了,改一下代码


import { pathExistsSync } from 'path-exists'

export function exists(p) {

    return pathExistsSync(p)

}



  • 这种方式我也试了,仍旧有cannot find module 'node:fs' 问题

    2022-06-24 15:34:07
  • irebirth 回复 白一一 #2

    4.0.0用上面方法

    5.0.0用

    const pathExistsSync = (await import('path-exists')).pathExistsSync

    这个方法

    2022-11-08 23:45:45
  • cannot find module 'node:fs安装一下typescript

    2022-11-08 23:47:30
热爱学习又爱玩 2021-08-22 21:40:08

我也是webpack5遇到了这个问题,webpack的版本差异,真是让人头疼。

  • 不对,我家里的降级都会报错,公司的是webpack5是正常的。

    2021-08-23 09:28:58
扬_灵 2021-08-13 19:28:03

同学你好,'node:fs'这种用法之前没有遇到过,在网上也没有找到详细的解释说明,你可以先降级使用,我们会持续跟进这个问题的,等找到确切的说明会第一时间回复你的。

  • 提问者 Jane锐 #1

    是的,我在网上也没找到相关资料。期待老师的后续回复。

    2021-08-13 20:14:33
  • 老师,找到解决方案了没?我也遇到了cannot find module 'node:fs' 问题

    2022-06-24 15:32:26
  • 老师,一年了,找到解决方案了没?我也遇到了cannot find module 'node:fs' 问题

    2022-06-24 15:33:08
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师