首先联想我们平时是如何访问网站的
像这样:https://www.w2le.com/ 或像这样: https://www.w2le.com/article/p=78
♥♥ 先拿apache说明一下 ♥♥
如果用过apache的人应该对wwww这个文件夹很熟悉,一般我们的网站就是放在这个文件夹下,然后我们访问某个文件的时候只需要知道文件的路径然后跟在域名之后就ok了。路径的每一层都可以找到对应的文件实体。
♥♥ 再来说nodejs ♥♥
♦ 1. 在nodejs没有网站空间,nodejs中不会存在类似www这样的文件夹,只要你全局安装了nodejs,任何一个目录都可以作为node的工作空间。只要我们通过命令行进入到相关目录,这个目录下有js我们就可以通过node运行它。
♦ 2. 用nodejs创建一个http服务来说明
创建 app.js
var http = require('http');
http.createServer(function(req,res){
res.end("200")
}).listen(8000);
通过上面的代码我们就创建了一个最简单的服务,监听8000端口。
然后我们进入目录,启动app.js
node app.js
启动成功后就可以在浏览器通过 http://localhost:8000 访问,浏览器将输出200字样。
说道这里还没说明为什么node没有网站空间,别着急下面就开始说明了。
现在我想访问该目录下的static
目录里面的一个index.html
怎么办。此时我直接http://localhost:8000/static/index.html 你会发现浏览器会告诉你路径不存在。因为nodejs
不像apache
已经在内部做了处理,是访问路径和文件路径一致,但是nodejs
并没有做这些处理,它只负责web服务那块,需要你自己手动去做这些文件访问的处理,node提供了fs
模块供我们使用。
本篇文章不深究服务器的创建和文件读取的具体代码,重在让大家理解nodejs 在浏览器地址栏访问的路径并不是实际的文件路径,我们需要做一些处理从而访问到我们想要的东西,学习nodejs要摒弃之前传统网站开发时候那种访问路径和实际文件路径相同的思想。下一篇文章将具体讲解nodejs的http模块和fs协作,创建一个简单的服务器。