错误使用React-static创建站点时找不到模块“ perf_hooks”

时间:2019-03-02 12:26:37

标签: javascript node.js reactjs

使用react-static create命令创建站点时出现以下错误:

Error: Cannot find module 'perf_hooks'
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/usr/local/lib/node_modules/react-static/lib/utils/index.js:45:19)

只需使用npm安装了react-static。

2 个答案:

答案 0 :(得分:0)

perf_hooks从nodejs v8.5开始可用。

通过node -v检查您的nodejs版本。

答案 1 :(得分:0)

我的代码有:

if (typeof performance === 'undefined') {
  // Older Node.js
  globals.performance = require('perf_hooks').performance;
} else {
  // Browser.
  globals.performance = performance;
}

解决:https://github.com/nodejs/node/issues/28635 尚未解决的问题。

因为在那种情况下浏览器被暴露的全局处理得微不足道,我只是把它改成了:

  globals.performance = eval('require')('perf_hooks').performance;

这使得 webpack 无法根据需要查看依赖项,如:How can I make webpack skip a require

在 react-scripts 4.0.3 上测试。