【问题标题】:React app suddenly blank page - mime problem?React 应用程序突然空白页 - 哑剧问题?
【发布时间】:2021-06-25 04:41:07
【问题描述】:

我的应用程序突然在本地主机上的 dev 中出现了一个空白屏幕(以及前几天工作的在线版本,并且没有对其进行任何更改)。

在本地主机的控制台上:

在终端的错误日志中:

.../node_modules/send/index.js:838
  var type = mime.lookup(path)
                  ^

TypeError: mime.lookup is not a function
    at SendStream.type (/Users/myname/Desktop/johannamuseet-app/node_modules/send/index.js:838:19)
    at SendStream.send (/Users/myname/Desktop/johannamuseet-app/node_modules/send/index.js:627:8)
    at onstat (/Users/myname/Desktop/johannamuseet-app/node_modules/send/index.js:729:10)

在此之前有一个错误,不允许编译,经过一些研究似乎我应该安装 @babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining 所以我做了。然后它可以编译,但现在发生了上面提到的下一个错误。

我不知道 mime 是做什么的。我的 package.json 中没有任何内容表明它是一个依赖项。

任何想法将不胜感激!

【问题讨论】:

  • 如果你看V2的注释,lookup()函数被重命名为getType()npmjs.com/package/mime
  • 谢谢@TechySharnav 我删除了提到的有错误的文件,然后再次安装了 mime。那行得通。

标签: reactjs babeljs mime


【解决方案1】:

哇,这很烦人。我尝试卸载 send 和 mime 并重新安装它们。尝试更新它们。甚至尝试使用旧版本的 mime。仍然出现错误。最后进入发送包 index.js 并将调用 mime 的代码更改为 var type = mime.getType(path)。但是你会得到另一个错误,因为 mime 删除了 charset 方法。所以我不得不将 charset 更改为 var charset = 'utf8'。显然,这是一个短期的解决方案。发送需要更新他们的包。

var type = mime.getType(path)

if (!type) {
  debug('no content-type')
  return
}

var charset = 'utf8'
//console.log(type)
//console.log(charset)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-23
    • 2021-08-16
    相关资源
    最近更新 更多