gpt4 book ai didi

javascript - 向 React(create-react-app) 添加静默更新入口点

转载 作者:可可西里 更新时间:2023-11-01 01:23:42 26 4
gpt4 key购买 nike

我有一个使用 create-react-app 创建的 React 应用程序模块。我最近被客户要求与 oidc 集成。为此,我使用 redux-oidc ,因为我已经在我的应用程序中使用了 redux。

我们设法将我的应用程序集成到他们的身份服务器中,我能够登录并获取存储在 redux 中的用户 token 。问题是我正在努力设置 silent renew在我的 create-react-app 应用程序中,因为我必须添加一个额外的入口点。有没有办法在不弹出 create-react-app 的情况下向 silent_renew/index.js 添加一个额外的入口点?

目前我创建了一个名为 silent_renew 的文件夹,其中包含一个 index.js 文件。此文件夹还包含一个 silent_renew.html 文件,其中内容不多(参见:example app 类似于我的文件夹结构)。

最佳答案

由于 silent_renew 的登陆页面只是一个简单的 html 页面,您可以绕过 webpack。只需将以下文件放在公用文件夹中即可。此外,在同一文件夹中包含 oidc-client.min.js 库的副本。

public/silent_renew.html:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script src="oidc-client.min.js"></script>
<script>
new Oidc.UserManager().signinSilentCallback().then()
</script>
</body>
</html>

这在我的站点的开发配置中有效。对于生产配置,我有以下想法(我还没有测试它,但我非常有信心这是前进的方向......)。

公共(public)/index.js

const express = require('express')
const path = require('path')
const app = express()

app.use(express.static('.'))

app.use((req, res, next) => {
if (path.extname(req.path).length > 0) {
next()
} else if (path.dirname(req.path).indexOf('silent_renew') > -1) {
req.url = '/silent_renew.html'
next()
}
else if (path.dirname(req.path).indexOf('callback') > -1) {
req.url = '/callback.html'
next()
} else {
req.url = '/index.html'
next()
}
})

app.listen(3000)

一旦 create-react-app 支持多个入口点(我希望企业登录场景的这种情况很快就会发生),此代码就会过时。

关于javascript - 向 React(create-react-app) 添加静默更新入口点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43938570/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com