Node JS中的fs.writeFile

时间:2020-07-05 20:17:48

标签: javascript node.js

我是Node js的新手,并希望使用它保存文件

function useEffectIfReady(fn, deps = [], isReady = true) {
  const readyWasToggled = useRef(isReady);

  /* 
  There are 2 states:
    0 - initial 
    1 - ready was toggled
  */
  const getDep = () => {
    if (readyWasToggled.current) {
      return 1;
    }
    if (isReady) {
      readyWasToggled.current = true;
    }
    return 0;
  };

  useEffect(() => {
    if (!isReady) {
      return;
    }
    return fn();
  }, [...deps, fn, getDep()]);
}

它运行正常,但是我在Windows中找不到 myfile.txt 。有解决方案吗?

1 个答案:

答案 0 :(得分:0)

因此,由于您正在使用browserify并试图在浏览器中运行它,所以根本无法从在浏览器中运行的代码访问真正的fs模块。那是浏览器不提供的功能,没有大量的网络打包将为您提供该功能。因此,您不能在浏览器中运行的代码中使用实际的nodejs fs模块。

有些程序包使用不同的API来尝试模拟fs模块的各个部分,但是由于不允许您在浏览器中自由写入要磁盘存储的任何位置,因此模拟是有限的,并非真实的文件访问。

客户端浏览器代码通常会将状态存储到本地存储,cookie或indexedDB中。您可以看到here中所述的选项。