首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >快递服务器+角深链

快递服务器+角深链
EN

Stack Overflow用户
提问于 2021-06-08 14:02:31
回答 1查看 49关注 0票数 0

我用Express + create来创建一个SPA。部分功能是一封电子邮件,其中包含一个链接,用户在重置密码(https://[domain].com/reset-password/[token])时单击该链接。

当用户单击该链接时,它会将他们带到应用程序登陆页面(/),而不是重置密码页(/reset-password/[token])。

我如何处理从电子邮件,通过快递,到我的角度应用程序的深层链接?

我的特快路线是:

代码语言:javascript
复制
router.get('*', function (req, res, next) {
  res.redirect('/');
});

我拥有的Anagular路线是:

代码语言:javascript
复制
{
  path: 'reset-password/:token',
  loadChildren: () => import('./pages/reset-password/reset-password.module').then((m) => m.ResetPasswordModule),
},

如果我在到reset-password/:token路由的角度应用程序中创建一个链接,它就能工作。只有当链接通过Express发送时,问题才会发生。

我如何解决这个问题而不必依赖于我过去使用过的HashLocationStratergy (RouterModule.forRoot(routes, {useHash: true}))解决方案

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-08 14:21:57

我不知道你是怎么发送角的静态文件的。但这里有一个完整的例子。您的问题是如何处理静态文件。

代码语言:javascript
复制
// Express will serve all static files from public folder
const publicPath = path.resolve(__dirname, './public');
app.use(express.static(publicPath));

那么,如果快递公司找到了一个文件,ej。/home,不是一个文件是一个角路由,发送index.html 不重定向

代码语言:javascript
复制
// Put this after all your api routes
const indexHtml = path.resolve(__dirname, './public/index.html');
app.get('*', (req, res) => {
    res.sendFile(indexHtml);
});

当express为静态文件提供服务时,这是一个实例,但这不是更好的方法,建议使用cdn或代理(如ngnix)来服务静态文件。

PS。我英语说得不好。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67888595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档