【问题标题】:Best practice for language sub domains in an Express server?Express 服务器中语言子域的最佳实践?
【发布时间】:2016-05-17 06:52:20
【问题描述】:

所以我设置了一个 Node/Express 服务器,我们正在从子目录转换到子域以进行本地化,例如:

es.example.com       // old way
www.example.com/es   // new way

这样做有多种原因,但主要是为了便于在国际化内容中保存 JWT 登录状态。在声明路线时允许在 express 中这样做的最佳做法是什么?

如果我有一条路线,只需像这样设置:

app.use('/search')

然后,当我尝试访问一条路线时,例如www.example.com/es/search,我将被重定向到www.example.com/searches 将被剥离。但是,可以这样解决:

app.use('*/search')

我确定这一定有一些负面影响?人们通常如何通过 Express 允许路由中的前缀?

【问题讨论】:

    标签: javascript node.js express internationalization


    【解决方案1】:

    如果您使用 Express 4,则可以使用 modular routes 创建一组路线,然后可以在您的不同区域设置代码之间共享这些路线。这将确保您仅将路线应用于特定的语言环境代码,而不是路线之前的所有可能单词(例如 /fakePath/search)。

    // routes.js
    var express = require('express');
    var router = express.Router();
    
    router.use('/search');
    
    module.exports = router; 
    
    
    // index.js
    var routes = require('./routes');
    
    app.use('/en', routes);
    app.use('/es', routes);
    // ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-26
      • 1970-01-01
      • 1970-01-01
      • 2010-09-18
      • 2010-12-21
      • 2014-03-15
      相关资源
      最近更新 更多