ADD*_*ADD 11 node.js socket.io
这是出现的错误,该怎么办。我创建了一个 socket.io 聊天应用程序。
包.json
"dependencies": {
"body-parser": "~1.15.1",
"connect-flash": "^0.1.1",
"connect-mongo": "^1.3.2",
"cookie-parser": "^1.4.3",
"debug": "~2.3.2",
"escape-html": "^1.0.3",
"express": "~4.14.0",
"express-session": "^1.14.2",
"hbs": "~4.0.0",
"mongoose": "^4.6.8",
"morgan": "~1.7.0",
"passport": "^0.3.2",
"passport-facebook": "^2.1.1",
"passport.socketio": "^3.7.0",
"serve-favicon": "~2.3.0",
"shortid": "^2.2.6",
"socket.io": "^1.5.1",
"twemoji": "^2.2.0"
},
"devDependencies": {
"babel-preset-es2015": "^6.18.0",
"gulp": "^3.9.1",
"gulp-autoprefixer": "^3.1.1",
"gulp-babel": "^6.1.2",
"gulp-clean-css": "^2.0.13",
"gulp-htmlmin": "^3.0.0",
"gulp-imagemin": "^3.1.1",
"gulp-sass": "*",
"gulp-uglify": "^2.0.0"
}
}
Run Code Online (Sandbox Code Playgroud)
C:\Users\AAKASH\Desktop\Follower-Github\Chat-app-all-F-2\Babble-master\B
abble-master\node_modules\passport-oauth2\lib\strategy.js:82
if (!options.clientID) { throw new TypeError('OAuth2Strategy requires
a clientID option'); }
^
TypeError: OAuth2Strategy requires a clientID option
at Strategy.OAuth2Strategy (C:\Users\AAKASH\Desktop\Follower-Github\
Chat-app-all-F-2\Babble-master\Babble-master\node_modules\passport-oauth
2\lib\strategy.js:82:34)
at new Strategy (C:\Users\AAKASH\Desktop\Follower-Github\Chat-app-al
l-F-2\Babble-master\Babble-master\node_modules\passport-facebook\lib\str
ategy.js:54:18)
at Object.<anonymous> (C:\Users\AAKASH\Desktop\Follower-Github\Chat-
app-all-F-2\Babble-master\Babble-master\config\passport.js:11:14)
at Module._compile (module.js:660:30)
at Object.Module._extensions..js (module.js:671:10)
at Module.load (module.js:573:32)
at tryModuleLoad (module.js:513:12)
at Function.Module._load (module.js:505:3)
at Module.require (module.js:604:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (C:\Users\AAKASH\Desktop\Follower-Github\Chat-
app-all-F-2\Babble-master\Babble-master\routes\index.js:9:14)
at Module._compile (module.js:660:30)
at Object.Module._extensions..js (module.js:671:10)
at Module.load (module.js:573:32)
at tryModuleLoad (module.js:513:12)
at Function.Module._load (module.js:505:3)
at Module.require (module.js:604:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (C:\Users\AAKASH\Desktop\Follower-Github\Chat-
app-all-F-2\Babble-master\Babble-master\app.js:23:16)
at Module._compile (module.js:660:30)
at Object.Module._extensions..js (module.js:671:10)
at Module.load (module.js:573:32)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! babble@0.1.0 start: `node ./bin/www`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the babble@0.1.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additi
onal logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\AAKASH\AppData\Roaming\npm-cache\_logs\2018-06-08T
03_18_29_207Z-debug.log
Run Code Online (Sandbox Code Playgroud)
下面是没有用的......
这是错误来做什么。我创建了一个socket.io聊天应用程序。这是一个使用nodejs.socket.io 和package.json 的聊天应用程序这是出现错误该怎么办。我创建了一个socket.io 聊天应用程序。这是一个使用nodejs.socket.io 和package.json 的聊天应用程序这是出现错误该怎么办。我创建了一个socket.io 聊天应用程序。这是一个使用 nodejs.socket.io 和 package.json 的聊天应用程序
小智 18
最近,我遇到了同样的问题,后来我意识到我忘记了需要 .env 配置。
错误
TypeError: OAuth2Strategy requires a clientID option
Run Code Online (Sandbox Code Playgroud)
使固定
npm i dotenv
Run Code Online (Sandbox Code Playgroud)
然后在文件顶部需要它
require(dotenv).config()
Run Code Online (Sandbox Code Playgroud)
造成此问题的原因是您的服务器不知道它必须使用环境变量。
我昨天也有同样的错误。错误是
TypeError: OAuth2Strategy requires a clientID option
Run Code Online (Sandbox Code Playgroud)
我将客户端 ID 重命名为clientID而不是clientId
passport.use(new FacebookStrategy({
clientID: FACEBOOK_CLIENT_ID, // previously was clientId
clientSecret: FACEBOOK_CLIENT_SECRET,
callbackURL: FACEBOOK_CALLBACK_URL,
profileFields: ['id', 'email', 'first_name', 'last_name'],
},
UserControllers.facebookCallback,
));
Run Code Online (Sandbox Code Playgroud)
小智 0
你的依赖没有帮助。您需要在创建 Passport Facebook 策略对象的位置发布代码。(我会 XXXX 出您的个人代码/密钥/ClientId)
我刚才也确实遇到了这个错误,这就是我在这里讨论这个问题的原因。我解决了我的问题,它可能会帮助您了解我的问题是如何出现的。
将安全代码/密钥/任何内容放在暴露在外的源代码存储库中是非常糟糕的做法。最好的做法是保留包含代码的文件,并将其包含在构建中作为参考,并使用其中的密钥,但不将其签入存储库,而是手动将其从开发计算机复制到计算机。在更大的环境中,您可能只是将其放置在公共网络驱动器上。或者更有可能将其放在未托管的源代码存储库中。
就我而言,我从我的主要开发计算机(笔记本电脑)跳到了速度更快的台式机。我已经好几个月没有出现在桌面上了,只是简单地检查了一下然后编译/运行。我收到这个错误。我忘记复制密钥文件来运行开发。(有趣的是,我绝对可以运行构建并推送到实时服务器,因为它在服务器上的产品密钥文件上运行。)
如果这不是您的具体情况,那么您需要发布您的代码(如果您愿意,请随时私信我)或查看您的代码以了解您如何制定 FacebookStrategy 以及您的问题所在。您可能只是忘记在通话中包含您的 Facebook ClientID。
干杯,祝你好运!
| 归档时间: |
|
| 查看次数: |
32774 次 |
| 最近记录: |