Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.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 React和NextJS:如何检测我的客户机的位置?_Javascript_Reactjs_Geolocation_Next.js - Fatal编程技术网

Javascript React和NextJS:如何检测我的客户机的位置?

Javascript React和NextJS:如何检测我的客户机的位置?,javascript,reactjs,geolocation,next.js,Javascript,Reactjs,Geolocation,Next.js,我已经用NextJS和React创建了一个网站。我想提供几种语言的网站。为了实现这一点,我想在页面文件夹中创建子文件夹,例如英语/en、德语/de等 当访问者打开我的网站时,将根据公共IP选择正确的子文件夹: 例如: 请求来自美国:选择了/pages/en文件夹, 请求来自德国:选择了/pages/de文件夹等 我该怎么做?由于我在NodeJS环境中没有什么经验,请给我具体的例子,非常感谢 我已经有了一个server.js文件。也许我也可以用这个是的 const express=require(

我已经用NextJS和React创建了一个网站。我想提供几种语言的网站。为了实现这一点,我想在
页面
文件夹中创建子文件夹,例如英语
/en
、德语
/de

当访问者打开我的网站时,将根据公共IP选择正确的子文件夹:

例如: 请求来自美国:选择了
/pages/en
文件夹, 请求来自德国:选择了
/pages/de
文件夹等

我该怎么做?由于我在NodeJS环境中没有什么经验,请给我具体的例子,非常感谢

我已经有了一个
server.js
文件。也许我也可以用这个是的

const express=require('express'))
const next=require(‘next’)
const bodyParser=require('body-parser')
const request=require('请求')
const dev=process.env.NODE_env!='生产
const app=next({dev})
const handle=app.getRequestHandler()
app.prepare()
.然后(()=>{
const server=express()
//解析应用程序
use(bodyParser.urlencoded({extended:false}))
//解析应用程序/json
use(bodyParser.json())
server.post(“/”,(req,res)=>{
addEmailToMailChimp(req.body.email,(错误、响应、正文)=>{
//这是传递给'addEmailToMailChimp'的回调函数`
控制台日志(响应);
试一试{
var respObj={};//初始响应对象
如果(response.statusCode==200){
respObj={success:`Subscribed using${req.body.email}!`,message:response.body};
}否则{
respObj={error:`尝试订阅${req.body.email}时出错。请重试。`,消息:response.body};
}
res.send(respObj);
}捕捉(错误){
var respErrorObj={error:'您的请求有错误',消息:err.message};
res.send(respErrorObj);
}
});
})
server.get('*',(req,res)=>{
返回句柄(req、res)
})
服务器。侦听(3000,(错误)=>{
如果(错误)抛出错误
console.log('>Ready onhttp://localhost:3000')
})
})
.catch((ex)=>{
控制台错误(例如堆栈)
进程。退出(1)
})

检查这篇文章,这是一篇很好的入门文章: