我想在我的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]; } });
并确认这些文件存在:
我已经尝试过重新安装软件包(http2和googleapis),但是没有更改。 为什么那些亲戚要求语句失败?文件清晰可见。
我的webapp是使用vue的客户端服务器应用程序。还要注意,这是我使用节点的第一个小项目,因此,如果您需要我提供有关此问题的任何其他信息,请告诉我。
预先感谢您的帮助。
答案 0 :(得分:0)
我在尝试使 googleapis
lib 在 React 应用程序中工作时也遇到了这个问题。原因是 googleapis
推荐用于服务器端网络应用。
对于 React/客户端 Web 应用程序,我按照此文档使其工作。
https://developers.google.com/identity/protocols/oauth2/javascript-implicit-flow#js-client-library