2017-01-31 6 views
1

私のプロジェクトには、enableEmmet: trueを含むエースエディタを使用しています。ACEエディタ - update_image_sizeが機能しない

TypeError: Cannot read property 'locateFile' of undefined 

コードスニペット:https://github.com/cloud9ide/emmet-core/blob/master/emmet.js#L9972-L10002ログはvar file = require('file');を示し

/** 
* Returns image dimensions for source 
* @param {IEmmetEditor} editor 
* @param {String} src Image source (path or data:url) 
*/ 
function getImageSizeForSource(editor, src, callback) { 
    var fileContent; 
    var au = require('actionUtils'); 
    if (src) { 
     // check if it is data:url 
     if (/^data:/.test(src)) { 
      fileContent = require('base64').decode(src.replace(/^data\:.+?;.+?,/, '')); 
      return callback(au.getImageSize(fileContent)); 
     } 

     var file = require('file'); 
     var absPath = file.locateFile(editor.getFilePath(), src); 
     if (absPath === null) { 
      throw "Can't find " + src + ' file'; 
     } 

     file.read(absPath, function(err, content) { 
      if (err) { 
       throw 'Unable to read ' + absPath + ': ' + err; 
      } 

      content = String(content); 
      callback(au.getImageSize(content)); 
     }); 
    } 
} 

は常にundefinedある

https://ace.c9.io/demo/emmet.html

しかし、どうやらアクションupdate_image_sizeが動作していないが、代わりに私は、このエラーメッセージが表示されます。

あなたが私の問題を見て、あなたの科学を少しだけ共有しているなら、私はとても感謝しています。ありがとう!

答えて

1

エースはファイルシステムにアクセスできません。サーバ上で何かを実行するか、ブラウザにイメージをロードしてそのサイズを確認することによって、その機能を再実装する必要があります。

+0

ありがとうございました。 – UserNaN

関連する問題