在客户端javascript文件中使用JSON数据

在客户端javascript文件中使用JSON数据,javascript,jquery,json,node.js,express,Javascript,Jquery,Json,Node.js,Express,我对node.js和express还比较陌生。我的问题是如何正确地检索客户端javascript文件中的json数据,因为我得到了一个关于.json文件找不到的404代码 我的文件结构是通用的express结构,.json文件位于package.json文件和app.js正下方的nodeapp文件夹中。我试图从保存在public/javascripts文件夹中的javascript文件访问此文件,但似乎可以绕过它。下面是我试图在.js文件中实现的函数: function getJSONData(

我对node.js和express还比较陌生。我的问题是如何正确地检索客户端javascript文件中的json数据,因为我得到了一个关于.json文件找不到的404代码

我的文件结构是通用的express结构,.json文件位于package.json文件和app.js正下方的nodeapp文件夹中。我试图从保存在
public/javascripts
文件夹中的javascript文件访问此文件,但似乎可以绕过它。下面是我试图在.js文件中实现的函数:

function getJSONData(){
    var json;
    $.getJSON('/public/web_text.json', function(data){

        json = data
    });
} 
选择1 您需要在express中设置静态文件,具体操作如下:

app.use(express.static(__dirname + '/public'))
$.getJSON('/public/web_text.json', function(data){})
然后,您可以从客户端调用它(不带public前缀):


选择2 您的另一个选择是通过
sendFile
发送:

然后在您的客户机中,您可以这样称呼它:

app.use(express.static(__dirname + '/public'))
$.getJSON('/public/web_text.json', function(data){})

还是一样的错误。。。。我的web_text.json文件未保存在public/javascripts文件下!它保存在主app文件夹中,package.json和app.js位于该文件夹中。当我重新加载浏览器并调用客户端js文件中的函数时,我收到一个错误,表示变量app未定义…这是服务器端代码,它需要转到那里,所以你是说选项2代码必须放到我的app.js文件中?选项1和/或选项2必须放到你的app.js文件中,即通过
节点加载的文件