最近刚从JavaScript中痛苦的挣扎出来,然后开始转战NodeJS学习。。。据说NodeJS很强大,所以简单学习后,还有待更进一步了解深入学习。在这里先把初步了解的一些信息做下整理。。。
NodeJS基础
1、 Node.js是什么?
JS是一种脚本语言,脚本语言都需要一个解析器才能运行。对于写在HTML页面里的JS,浏览器充当了解析器的角色。而对于需要独立运行的JS,NodeJS就是一个解析器。
简单说,就是可以让JS脚步能够跑在服务器后端上的一个程序。
当我准备开始写我的第一个“真正的Node.js应用的时候,我不但不知道怎么写Node.js代码,也不知道怎么组织这些代码。我应该把所有的东西都放进一个文件里吗?实际上,只要把不同功能的代码放入不同的模块中,保持代码分离还是相当简单的。
那么我们来创建一个用于启动我们的应用的主文件,和一个保存着我们的HTTP服务器代码的模块。在我的印象里,把主文件叫做index.js或多或少是个标准格式。把服务器模块放进叫server.js的文件里则很好理解。让我们先从服务器模块开始。在你的项目的根目录下创建一个叫server.js的文件,并写入以下代码:
var http = require("http");
http.createServer(function(request, response) {
response.writeHead(200, {"Content-Type": "text/html"});
response.write("Hello World");
response.end();
}).listen(80);
上述代码刚刚完成了一个可以工作的HTTP服务器。为了证明这一点,我们来运行并且测试这段代码。首先,用Node.js执行你的脚本,接下来,打开浏览器访问:http://localhost:80/,你会看到一个写着“Hello World”的网页。
那么接下来,让我们分析一下这个HTTP服务器的构成。
第一行请求(require)Node.js自带的 http 模块,并且把它赋值给 http 变量。
接下来我们调用http模块提供的函数: createServer 。这个函数会返回一个对象,这个对象有一个叫做 listen 的方法,这个方法有一个数值参数,指定这个HTTP服务器监听的端口号。
我们可以用这样的代码来启动服务器并侦听80端口:
var http = require("http");
var server = http.createServer();
server.listen(80);
这段代码只会启动一个监听80端口的服务器,它不做任何别的事情,甚至连请求都不会答应。
2、模块
编写稍大一点的程序时一般都会将代码模块化。在Node.js中,一般将代码合理拆分到不同的JS文件中,每一个文件就是一个模块,而文件路径就是模块名。在编写每个模块时,都有require、exports、module三个预先定义好的变量可供使用。
3、第三方包
需要使用三方包时,首先得知道有哪些包可用。下载好之后,三方包就放在了工程目录下的node_modules目录中,因此在代码中只需要通过require('XXX')的方式就好,无需指定三方包路径。
总结暂时就到这里,里面忽略了很多具体的东西,因为学习得很混乱,所以自己写不太知道学到了啥,学懂了啥。JS比较难懂,NodeJS相对容易一点点,但是也学得很模糊,最主要的问题还是老问题就是不知道怎么去写代码,不知道步骤,没有比较清晰明了的思路,不知道每一步该怎么写,一步步需要实现什么,去写什么代码思路很混乱。唉!!!希望在以后的项目练习中能够提到提升 ,革命仍未成功,同志们任需努力!!!