Javascript NodeJS和express,在视图文件上显示
自从我重构了我的nodeJS应用程序后,它出现了一个奇怪的问题 应用程序启动良好,API回答正确,但当我尝试转到/时,我在浏览器中遇到以下错误: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')并使用“
error:enoint,stat'/views/index.html'
我现在使用此文件夹树:
- 计划
- 正面
- 观点
- index.html
- 观点
- 鲍尔元件
- 应用程序
- 节点
- server.js
- 正面
错误无条目
,这最终意味着它无法找到您的文件
内部
没有这样的文件或目录。这是一个“文件不存在”
在其所在上下文中引用的普通文件出错
预期已经存在
服务器正试图从计算机的根目录(/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+“/”);