Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 错误:在配置文件中使用next-i18next时出现意外标识符_Javascript_Reactjs_Next.js_I18next - Fatal编程技术网

Javascript 错误:在配置文件中使用next-i18next时出现意外标识符

Javascript 错误:在配置文件中使用next-i18next时出现意外标识符,javascript,reactjs,next.js,i18next,Javascript,Reactjs,Next.js,I18next,应用程序不断抛出错误“从'next-i18next'导入意外标识符NextI18Next” 我对react/nextjs非常陌生。如果我遗漏了一些显而易见的东西,我深表歉意 我基本上一直在跟踪来自的文档。我在server.js文件上尝试了几种不同的配置,但我认为这不是正确的选择 const express = require('express'); const next = require('next'); const nextI18NextMiddleware = require('next-

应用程序不断抛出错误“从'next-i18next'导入意外标识符NextI18Next”

我对react/nextjs非常陌生。如果我遗漏了一些显而易见的东西,我深表歉意

我基本上一直在跟踪来自的文档。我在server.js文件上尝试了几种不同的配置,但我认为这不是正确的选择

const express = require('express');
const next = require('next');
const nextI18NextMiddleware = require('next-i18next/middleware').default;

const nextI18next = require('./i18n');

const app = next({ dev: process.env.NODE_ENV !== 'production' });
const handle = app.getRequestHandler();

app.prepare().then(() => {
    const server = express();

    server.use(nextI18NextMiddleware(nextI18next));

    server.get('*', (req, res) => {
        return handle(req, res);
    });

    server.listen(3000, (err) => {
        if (err) throw err;
        console.log('Server running on port 3000');
    });
});

`

i18n.js config file 

`
import NextI18Next from 'next-i18next';

const NextI18NextInstance = new NextI18Next({
    defaultLanguage: 'en',
    otherLanguages: [ 'de' ],
    localeSubpaths: {
        de: 'de',
        en: 'eng'
    }
});

export default NextI18NextInstance;
`

import NextI18Next from 'next-i18next';
       ^^^^^^^^^^^

SyntaxError: Unexpected identifier
    at Module._compile (internal/modules/cjs/loader.js:760:23)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:827:10)
    at Module.load (internal/modules/cjs/loader.js:685:32)
    at Function.Module._load (internal/modules/cjs/loader.js:620:12)
    at Module.require (internal/modules/cjs/loader.js:723:19)
    at require (internal/modules/cjs/helpers.js:14:16)
    at Object.<anonymous> (C:\Users\roger\OneDrive\Desktop\i18next\test\server.js:5:21)
    at Module._compile (internal/modules/cjs/loader.js:816:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:827:10)
    at Module.load (internal/modules/cjs/loader.js:685:32)
const express=require('express');
const next=需要(“next”);
const nextI18NextMiddleware=require('next-i18next/middleware')。默认值;
const nextI18next=require('./i18n');
const app=next({dev:process.env.NODE_env!=='production'});
const handle=app.getRequestHandler();
app.prepare()然后(()=>{
const server=express();
使用(nextI18NextMiddleware(nextI18next));
server.get('*',(req,res)=>{
返回句柄(req、res);
});
服务器。侦听(3000,(错误)=>{
如果(错误)抛出错误;
log('Server running on port 3000');
});
});
`
i18n.js配置文件
`
从“next-i18next”导入NextI18Next;
const NextI18NextInstance=新的NextI18Next({
defaultLanguage:'en',
其他语言:['de'],
LocaleSubpath:{
德:‘德’,
嗯:"嗯"
}
});
导出默认NextI18NextInstance;
`
从“next-i18next”导入NextI18Next;
^^^^^^^^^^^
SyntaxError:意外的标识符
at模块编译(内部/modules/cjs/loader.js:760:23)
在Object.Module.\u extensions..js(internal/modules/cjs/loader.js:827:10)
at Module.load(内部/modules/cjs/loader.js:685:32)
at Function.Module._load(内部/modules/cjs/loader.js:620:12)
at Module.require(内部/modules/cjs/loader.js:723:19)
根据需要(内部/modules/cjs/helpers.js:14:16)
反对。(C:\Users\roger\OneDrive\Desktop\i18next\test\server.js:5:21)
at模块编译(内部/modules/cjs/loader.js:816:30)
在Object.Module.\u extensions..js(internal/modules/cjs/loader.js:827:10)
at Module.load(内部/modules/cjs/loader.js:685:32)

看起来您没有babel来将es模块(
import
syntax)转换为commonJS(node使用的语法)。您是对的。成功了!谢谢你能注释掉@RogyBear你找到的解决方案吗?看起来你没有babel来将es模块(
import
syntax)转换成commonJS(node使用的语法)。你是对的。成功了!谢谢你能把你找到的解决方案注释掉@RogyBear吗?