【问题标题】:i18next.js not served on subpagesi18next.js 未在子页面上提供
【发布时间】:2015-10-14 22:37:26
【问题描述】:

我正在用 i18next 编写一个节点服务器。

在我的主页 (http://localhost:3000) 上,i18next.js 按预期提供。

在子页面 (http://localhost:3000/users/hans) 上,但是,它没有。

(404) GET http://localhost:3000/users/i18next/i18next.js 
frontend.js:3 Uncaught TypeError: Cannot read property 'init' of undefined

我不明白为什么。

app.js

//[...]
var app = express();


var user = require('./routes/users');  // USER ROUTE
var routes = require('./routes/index');

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');

i18n.serveClientScript(app).serveDynamicResources(app);
//[...]

前端.js:

$(document).ready(function() {

    $.i18n.init({
        debug: true,
        detectLngQS: 'lang',
        fallbackLng: 'en',
        load: 'unspecific',
        lowerCaseLng: true,
        resGetPath: './locales/__lng__-__ns__.json',
    }, function() {
        $.t('markup.login');
        $('p, a, h1, label, button').i18n();
    });
    $('.langButton').on('click', function(event) {
        var setLangTo = $(event.target).attr('name');
        console.log(setLangTo);
        $.i18n.setLng(setLangTo, function() {
            $('p, a, h1, label, button').i18n();
        })
    })
});

据我了解,i18next.js 应该自动提供给任何请求,独立于路由。我也不知道怎么把路径改成/,这样js就可以正常加载了……

我错过了什么吗?错误的顺序(我尝试重新排序无济于事)?我应该更改任何设置吗?

感谢您的帮助:)

附加信息

我刚刚注意到这只发生在用户页面上(两个子级别) 一个子级别(例如 localhost:3000/training)有效……这很奇怪。 有什么想法吗?

【问题讨论】:

    标签: javascript node.js i18next


    【解决方案1】:

    我现在很惭愧……

    对于像我这样愚蠢的人:

    应该是的

    script(src='/i18next/i18next.js', type='text/javascript')
    

    而不是

    script(src='i18next/i18next.js', type='text/javascript')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多