Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.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 NodeJS和express,在视图文件上显示_Javascript_Node.js_Express - Fatal编程技术网

Javascript NodeJS和express,在视图文件上显示

Javascript NodeJS和express,在视图文件上显示,javascript,node.js,express,Javascript,Node.js,Express,自从我重构了我的nodeJS应用程序后,它出现了一个奇怪的问题 应用程序启动良好,API回答正确,但当我尝试转到/时,我在浏览器中遇到以下错误:error:enoint,stat'/views/index.html' 我现在使用此文件夹树: 计划 正面 观点 index.html 鲍尔元件 应用程序 节点 server.js 下面是我的server.js文件的内容: 我试图注释app.use(express.static(uu dirname+'/../front')并使用“

自从我重构了我的nodeJS应用程序后,它出现了一个奇怪的问题

应用程序启动良好,API回答正确,但当我尝试转到/时,我在浏览器中遇到以下错误:
error:enoint,stat'/views/index.html'

我现在使用此文件夹树:

  • 计划
    • 正面
      • 观点
        • index.html
    • 鲍尔元件
    • 应用程序
    • 节点
      • server.js
下面是我的server.js文件的内容:

我试图注释app.use(express.static(uu dirname+'/../front')并使用“/front/views/index.html”调用视图,但结果是相同的。

意味着
错误无条目
,这最终意味着它无法找到您的文件

内部

没有这样的文件或目录。这是一个“文件不存在” 在其所在上下文中引用的普通文件出错 预期已经存在

服务器正试图从计算机的根目录(
/views/index.html
)发送文件。您可能需要调整它以适应您的文件结构

app.get('/', function (req, res) {
    res.sendfile(__dirname + '/../font/views/index.html');
});
意味着
错误无条目
,这最终意味着它无法找到您的文件

内部

没有这样的文件或目录。这是一个“文件不存在” 在其所在上下文中引用的普通文件出错 预期已经存在

服务器正试图从计算机的根目录(
/views/index.html
)发送文件。您可能需要调整它以适应您的文件结构

app.get('/', function (req, res) {
    res.sendfile(__dirname + '/../font/views/index.html');
});

我相信您没有设置
视图
文件夹

app.set('views', 'MY_DIR_PATH');

我相信您没有设置
视图
文件夹

app.set('views', 'MY_DIR_PATH');

正如@Sean3z所建议的,我试图更改我的sendfile声明,但得到了另一个错误(禁止,sendStream错误)

最后,我通过更改静态文件定义使其正常工作:
app.use('/front',express.static(uu dirname+'/../front')

并通过修改sendFile:
res.sendFile('front/views/index.html')

奇怪的是,nodeJS理解(但不是我:)并在正确的位置调用正确的文件。我只需要更正差异文件中的调用就可以了


谢谢你的回答。

正如@Sean3z所建议的,我试图更改我的sendfile声明,但又出现了另一个错误(禁止,sendStream错误)

最后,我通过更改静态文件定义使其正常工作:
app.use('/front',express.static(uu dirname+'/../front')

并通过修改sendFile:
res.sendFile('front/views/index.html')

奇怪的是,nodeJS理解(但不是我:)并在正确的位置调用正确的文件。我只需要更正差异文件中的调用就可以了


谢谢你的回答。

@Sean3z:奇怪的是,当我尝试你的建议时,我又遇到了另一个错误:错误:
在SendStream.error(/home/marc/tensing/node_modules/express/node_modules/send/lib/send.js:228:16)在SendStream.pipe(/home/marc/tensing/node_modules/express/node_modules/send/lib/send.js:423:19)在ServerResponse.res.sendfile(/home/marc/tenties/node_modules/express/lib/response.js:409:8)在/home/marc/tenties/node/server.js:423:9
@Sean3z:当我尝试
res.sendfile('front/views/index.html')一切正常(除了我的ANgularJS链接,但我能理解)。真正的问题是“尽管文件夹在别处,为什么节点理解没有/的路径?”@marcdeleure,因为没有前导的
/
路径是相对于应用程序的。使用前导的
/
对机器来说是绝对的。@Sean3z:奇怪的是,当我尝试你建议的方法时,我在SendStream.pipe上遇到了另一个错误:错误:
禁止使用SendStream.error(/home/marc/tensiness/node_modules/express/node_modules/send/lib/send.js:228:16)(/home/marc/tenties/node_modules/express/node_modules/send/lib/send.js:423:19)在ServerResponse.res.sendfile(/home/marc/tenties/node_modules/express/lib/response.js:409:8)在/home/marc/tenties/node/server.js:423:9
@Sean3z:当我尝试
res.sendfile(/front/views/index.html');
一切正常(除了我的ANgularJS链接,但我能理解)。真正的问题是“为什么节点理解没有/的路径,尽管文件夹在别处?”@marcdeleur是因为没有前导的
/
路径是相对于应用程序的。有了前导的
/
它对机器是绝对的。我试过了,但似乎没有更好。我通过改变我的静态声明解决了这个问题……你也可以使用
app.use(express.static(\uu dirname+'/'))
我试过了,但似乎没有更好。我通过改变我的静态声明解决了这个问题……你也可以使用
app.use(express.static(uu dirname+“/”);