GitHub页面的不和谐Oauth2?
Posted
技术标签:
【中文标题】GitHub页面的不和谐Oauth2?【英文标题】:Discord Oauth2 for GitHub Pages? 【发布时间】:2022-01-20 19:55:34 【问题描述】:var express = require('express')()
const app = express();
var port =
'client_id': '…',
'client_secret': '…',
'grant_type': 'authorization_code',
'redirect_uri': '…',
app.get('/', (request, response) =>
return response.sendFile('index.html', root: '.' );
);
app.listen(port, () => console.log(`App listening at http://localhost:$port`));
console.log('1')
如何将 Discord Oauth2 用于 GitHub 页面?它说 require 没有定义。甚至在本地主机上,它说我必须将字符串包装在require('express')
中的数组中。然后,它说app.get
不是函数。
在这一切之后,我如何请求检索登录者的服务器?
【问题讨论】:
嗯... GitHub 页面是静态的。不允许服务器端。 另外,不是require("express")(),是require("express") @MrMythical 实际上,不完全是 -const app = require('express')()
相当于做类似const express = require('express'); const app = express();
的事情,后者是您在官方文档中看到的内容。两者的工作方式相同。
这能回答你的问题吗? Client on Node.js: Uncaught ReferenceError: require is not defined
【参考方案1】:
GitHub Pages 是 静态托管 托管服务,而 Express 是 服务器端 框架服务器。
GitHub Pages 是一种静态网站托管服务,它直接从 GitHub 上的存储库中获取 HTML、CSS 和 javascript 文件,可选择通过构建过程运行文件,然后发布网站。 p>
Source
这意味着您不能将 Express 与 GitHub Pages 一起使用。但是,有一些解决方法和替代方法。
解决方法:在客户端加载内容
如果您想坚持使用 GitHub Pages,这是推荐的路线。您将获得一个静态骨架页面,并在客户端使用 JavaScript 填写字段。
此方法有多种方法,但是,这取决于您如何处理身份验证。
替代方案:使用其他托管服务
我假设您使用的是 GitHub Pages,因为它是一项免费的托管服务,但问题是它只是静态的。
Vercel 和 Netlify 都有一个名为 serverless functions 的东西。使用无服务器功能,每次有人向您的网站发出请求时,都会启动一个新的计算实例。这里有一些关于如何实现 Express 的官方指南:
Vercel(推荐) Netlify祝你的项目好运!
【讨论】:
这一次,又出现了一个错误:app.get is not a function
我试过require(['express'])
并在后面选择性地添加了()
,但它也不起作用。
@John 你用的是什么方法?客户端渲染,还是使用 Vercel 或 Netlify?
Vercel。谢谢!
它是require('express')
,没有[]
s。并确保您在代码底部导出了应用程序,module.exports = app
。如需更多说明,请参阅guide。
哦,另外,您应该使用以下任一代码。不是都。 const express = require('express'); const app = express();
或 const app = require('express')();
以上是关于GitHub页面的不和谐Oauth2?的主要内容,如果未能解决你的问题,请参考以下文章
我如何从网络托管机器人上的不和谐聊天中读取 txt 文件中的原始文本