2017-02-14 277 views
0

我一直在使用psd.js和我的悬浮窗reactjs项目配置这样
PSD.js在反应错误fs.readFileSync不是一个函数

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

请帮助

回答

0

你应该使用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(); 
     }); 
    } 

    }, 
+0

如果我使用'PSD.fromEvent()'的errror是'遗漏的类型错误:PSD.fromEvent不FileReader.handleReaderLoad'上的函数 。最新错误@pawel – Ariasa

相关问题