【问题标题】:Uncaught TypeError: Cannot read property 'prototype' of undefined Meteor-File Package未捕获的类型错误:无法读取未定义流星文件包的属性“原型”
【发布时间】:2018-06-04 22:42:56
【问题描述】:

我在使用此文档时遇到问题:https://github.com/VeliovGroup/Meteor-Files/wiki/Image-Processing。本文档指导如何为包创建缩略图 Meteor-File

我安装了所有需要的包,就像指导一样,但是当我运行代码时,它出现了问题:

Uncaught TypeError: Cannot read property 'prototype' of undefined
    at patch (modules.js?hash=b849b729a9c5ee343b208254dca34d866ee59991:19084)
    at graceful-fs.js (modules.js?hash=b849b729a9c5ee343b208254dca34d866ee59991:18945)
    at fileEvaluate (modules-runtime.js?hash=8587d188e038b75ecd27ed2469a52b269e38fb62:343)
    at require (modules-runtime.js?hash=8587d188e038b75ecd27ed2469a52b269e38fb62:238)
    at index.js (modules.js?hash=b849b729a9c5ee343b208254dca34d866ee59991:16785)
    at fileEvaluate (modules-runtime.js?hash=8587d188e038b75ecd27ed2469a52b269e38fb62:343)
    at require (modules-runtime.js?hash=8587d188e038b75ecd27ed2469a52b269e38fb62:238)
    at index.js (modules.js?hash=b849b729a9c5ee343b208254dca34d866ee59991:16624)
    at fileEvaluate (modules-runtime.js?hash=8587d188e038b75ecd27ed2469a52b269e38fb62:343)
    at require (modules-runtime.js?hash=8587d188e038b75ecd27ed2469a52b269e38fb62:238)

我跟踪,在这里找到了原型:

  var fs$ReadStream = fs.ReadStream                                                                                 
  ReadStream.prototype = Object.create(fs$ReadStream.prototype)                                                       
  ReadStream.prototype.open = ReadStream$open  

'fs' lib 在这里使用:

import fs from 'fs-extra';

请帮帮我!

【问题讨论】:

    标签: javascript node.js meteor fs


    【解决方案1】:

    'fs' 库在服务器端可用。所以只需将这些代码包装在块中:

    if (Meteor.isServer()){
       //use fs lib
    }
    

    或将代码文件切换到 server 的文件夹。 它会正常工作的!

    【讨论】:

      【解决方案2】:

      我通过简单地使用内置节点fs 模块而不是fs-extra 解决了这个问题。目前还没有遇到任何问题。

      【讨论】:

        【解决方案3】:

        也许你应该试试这样的东西?

        var fs$ReadStream = fs.ReadStream                                                                                 
        fs.ReadStream.prototype = Object.create(fs$ReadStream.prototype)                                                       
        fs.ReadStream.prototype.open = ReadStream$open  
        

        希望对你有帮助。

        【讨论】:

          猜你喜欢
          • 2015-10-07
          • 1970-01-01
          • 1970-01-01
          • 2014-06-11
          • 2018-12-26
          • 1970-01-01
          • 1970-01-01
          • 2021-12-22
          • 2020-06-16
          相关资源
          最近更新 更多