节点模块googleapis导致问题

时间:2020-06-28 01:00:39

标签: node.js vue.js google-api http2

我想在我的nodejs网络应用程序中开始使用Google身份验证,而我正在使用googleapis软件包。 安装后需要此软件包的那一刻,我立即收到以下错误:

protocol sync?8d88:2 Uncaught Error: Cannot find module './framer'
    at webpackEmptyContext (eval at ./node_modules/http2/lib/protocol sync recursive (app.js:1053), <anonymous>:2:10)
    at Array.map (<anonymous>)
    at eval (index.js?1fa7:46)
    at Object../node_modules/http2/lib/protocol/index.js (chunk-vendors.js:7788)
    at __webpack_require__ (app.js:854)
    at fn (app.js:151)
    at Object.eval (http.js?4679:136)
    at eval (http.js:1264)
    at Object../node_modules/http2/lib/http.js (chunk-vendors.js:7711)
    at __webpack_require__ (app.js:854)

我在这里查看了源代码

var modules = ['./framer', './compressor', './flow', './connection', './stream', './endpoint'];
modules.map(require).forEach(function(module) {
  for (var name in module.serializers) {
    exports.serializers[name] = module.serializers[name];
  }
});

并确认这些文件存在:

enter image description here

我已经尝试过重新安装软件包(http2和googleapis),但是没有更改。 为什么那些亲戚要求语句失败?文件清晰可见。

我的webapp是使用vue的客户端服务器应用程序。还要注意,这是我使用节点的第一个小项目,因此,如果您需要我提供有关此问题的任何其他信息,请告诉我。

预先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我在尝试使 googleapis lib 在 React 应用程序中工作时也遇到了这个问题。原因是 googleapis 推荐用于服务器端网络应用。

对于 React/客户端 Web 应用程序,我按照此文档使其工作。

https://developers.google.com/identity/protocols/oauth2/javascript-implicit-flow#js-client-library