首页 > 解决方案 > 启动反应应用程序时面临 fs-extra、html-webpack-plugin-before-html-processing、graceful-js 问题

问题描述

无法读取未定义的属性“本机”./node_modules/fs-extra/lib/fs/index.js F:/practice/burger-redux/my-app/node_modules/fs-extra/lib/fs/index.js: 107

  }
 fs.realpath.native only available in Node v9.2+
> if (typeof fs.realpath.native === 'function') {
  exports.realpath.native = u(fs.realpath.native)
  }

这是 fs-extra 期间的错误示例。突然出现了一个与graceful-js相关的错误,但是我找不到解决办法。然后,我创建了一个新的反应应用程序。现在我面临 fs-extra 问题?

如何解决问题。

谢谢

标签: reactjsnpmwebpack

解决方案


我自己也遇到了这个错误,因此产生了一个问题:https ://github.com/jprichardson/node-fs-extra/issues/743 。

编辑:

我不知道这是否对您的具体情况有帮助,但来自@gabriel-marcondes,我的问题是

您不能从客户端浏览器使用 FS。

来自@RyanZim的解决方案:

您需要在使用它的方法中动态地 require('fs-extra') ,这样浏览器就不需要它了。或者,您可以将 webpack(或您正在使用的任何编译器)配置为将 fs-extra 存根为空对象。任何一种解决方案都应该解决您的问题。

因此,由于我使用的是打字稿,我从https://stackoverflow.com/a/43112861/9285308找到了很好的用途并最终使用

async function do_something_that_needs_fs() {
    const fs = await import("fs-extra");
}

推荐阅读