gpt4 book ai didi

node.js - 在 ubuntu 上发布应用程序时出现错误 : ENOENT, 没有这样的文件或目录 '/var/www/html/views

转载 作者:太空宇宙 更新时间:2023-11-03 23:35:38 24 4
gpt4 key购买 nike

我的nodejs应用程序文件夹结构如下所示。

Index.html 文件位于 View 文件夹内,公共(public)文件夹包含部分页面。

下面是来自index.html的一个小片段,当 Node 在机器上本地运行时它可以正常工作。

<section id="sidebar"  ng-controller="menuController" ng-init="init()">
<% include ..\public\partials\_menubar.html %>
</section>

enter image description here

但是当我在服务器上运行代码时,它给了我错误。

Error: ENOENT, no such file or directory        
'/var/www/html/views/..\public\partials\_menubar.html'
at Object.fs.openSync (fs.js:432:18)
at Object.fs.readFileSync (fs.js:286:15)
at includeSource (/var/www/html/node_modules/ejs/lib/ejs.js:194:17)
at /var/www/html/node_modules/ejs/lib/ejs.js:528:26
at Array.forEach (native)
at Object.Template.generateSource (/var/www/html/node_modules/ejs/lib/ejs.js:505:15)
at Object.Template.compile (/var/www/html/node_modules/ejs/lib/ejs.js:427:12)
at Object.compile (/var/www/html/node_modules/ejs/lib/ejs.js:288:16)
at handleCache (/var/www/html/node_modules/ejs/lib/ejs.js:147:16)
at View.exports.renderFile [as engine] (/var/www/html/node_modules/ejs/lib/ejs.js:350:14)

我尝试使用下面的代码但没有成功。

app.use(express.static(path.join(__dirname, 'public'))); 

最佳答案

Linux 使用 / 作为目录分隔符,因此当您使用 Windows 的 \ 分隔符时无法找到该文件。

另请注意,除了 Windows 之外,Linux 也区分大小写,因此您需要确保文件/目录名称的大小写正确。

关于node.js - 在 ubuntu 上发布应用程序时出现错误 : ENOENT, 没有这样的文件或目录 '/var/www/html/views,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32910524/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com