繁体   English   中英

PSD.js中的反应错误fs.readFileSync不是函数

[英]PSD.js in react error fs.readFileSync is not a function

我有一个使用psd.js的reactjs项目,并在我的dropzone配置上这样

accept: function(file, done){
        const reader = new FileReader();
        reader.onload = handleReaderLoad;
        reader.readAsDataURL(file);
        function handleReaderLoad(evt) {
          console.log(evt.target.result);
          let psdFile = PSD.fromFile(evt.target.result);
          psdFile.parse();
          console.log(psdFile);
        }
        done();
      },

错误是:

Uncaught TypeError: fs.readFileSync is not a function
    at Function.fromFile (init.coffee:6)
    at FileReader.handleReaderLoad (index.js?03a7:153)

在我的webpack配置我inlclude:

node: {
    fs: 'empty'
  },

因为如果我不包括它,错误是: not found fs module

请帮忙。

你应该使用PSD.fromEvent(evt) ,而不是PSD.fromFile

前者从文件输入中读取blob,而后者尝试命中文件系统,这在浏览器上下文中显然不存在。

所以我猜你的代码应该是这样的(但我不太确定)

accept: function(file, done){
    const reader = new FileReader();
    reader.onload = handleReaderLoad;
    reader.readAsDataURL(file);
    function handleReaderLoad(evt) {
      PSD.fromEvent(evt).then(function (psd) {
           // here you can access the parsed file as psd
           console.log(psd.tree().export());
          done();
      });
    }

  },

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM