我的node.js简单web服务器没有'无法访问父文件夹
My node.js simple web server doesn't access parent folder
昨天我玩了一点Node.js,我的第一个想法是制作一个简单的web服务器,以这种方式加载带有一些js文件的html页面:
var http = require('http'),
fs = require('fs'),
path = require('path');
http.createServer(function(request, response) {
console.log('request starting for: ' + request.url);
var filePath = path.join('.', request.url);
if (filePath === './') {
filePath = './aPage.html';
}
path.exists(filePath, function(exists) {
if (exists) {
var extname = path.extname(filePath);
var contentType = 'text/html';
switch (extname) {
case '.js':
contentType = 'text/javascript';
break;
case '.css':
contentType = 'text/css';
break;
}
fs.readFile(filePath, function(error, content) {
if (error) {
response.writeHead(500);
response.end();
}
else {
response.writeHead(200, {
'Content-Type': contentType
});
response.end(content, 'utf-8');
}
});
}
else {
console.log('Something goes wrong ;(');
response.writeHead(404);
response.end();
}
});
console.log('Server running!');
}).listen('8080', '0.0.0.0');
一切正常。
我决定把这个js脚本放在一个子目录中,修改中的行
...
var filePath = path.join('..', request.url);
if (filePath === '../') {
filePath = '../aPage.html';
}
...
但是path.exists()无法检查html页面和其他文件的存在。
你能告诉我是我的错吗(我以为那只是微不足道的改变)?
谢谢。
我的猜测是,您正试图从父文件夹而不是从子目录直接运行js
脚本。
例如:如果您在目录foo
中,而您的server.js
在子目录bar
中,
如果运行node bar/server.js
,那么..
将指向foo的父级,而不是bar的父级。这就是为什么找不到文件的原因。
foo
+---bar
| +----- server.js
+---- aPage.html
您可以尝试将cd
转换为bar
并运行node server.js
。
或者将脚本中的CCD_ 10更改为CCD_。
PS:您可以使用path.resolve
来获得绝对路径。
相关文章:
- 限制对HTML/CSS/IMG或根索引文件夹的访问
- 通过javascript跨浏览器访问outlook联系人文件夹
- 如何在PHP中使用url保护我的图像和文件夹免受直接访问
- 当通过Node.js服务器访问时,Javascript文件在Chrome上工作,但从文件夹打开时不工作
- 通过驱动器API访问文件夹中的文件
- 如何防止子文件夹通过匿名 http-url-path 访问,尽管父文件夹上有受密码保护的 aspx.default 文件
- S3 循环访问存储桶/文件夹/文件
- 如何使用它的相对路径访问tomcat服务器中的文件夹
- 从外部根文件夹访问 JS
- 火狐附加组件如何访问用户的书签文件夹
- 快速访问父文件夹
- 无需验证即可访问共享Google Drive文件夹中的文件,JavaScript
- 进程无法访问该文件,因为另一个进程正在使用该文件(删除文件夹)
- 阻止用户访问资源文件夹中的文件.托管在Apache Tomcat上
- 从html文件夹中的HTML5桌面应用程序访问本地文件
- 访问特定Dropbox用户's文件夹中使用API
- HTML/Javascript:允许从子目录访问文件夹
- 访问文件夹以逐个列出/播放剪辑
- Phonegap访问"文件夹中
- Photoshop ScriptListener 访问文件夹中的所有文件