之前听说过Node.js,只是知道它可以应用于服务器端,但是对很多具体的东西并不了解。今天在QCon上听了袁锋的分享《Node.js脱离了浏览器的Javascript》之后,顿时有了想立刻试一下的冲动。
Node.js的安装步骤算是比较简单,没有太多的弯路,主要参考文档:
Building and Installing Node.js
1. 安装Python
根据参考文档说明,从源代码编译安装Node.js需要python2.6或者以上,而通过yum install python.x86_64只能得到2.4.3,所以也要通过源码编译安装python。下面是命令:
# wget http://www.python.org/ftp/python/3.2.2/Python-3.2.2.tgz
# tar xzvf Python-3.2.3.tgz
# cd Python-3.2.2
# ./configure
# make
# make test
# make install
完成安装后,执行python命令,可以进入python的命令行窗口。
2. 安装Node.js
按照文档上的说明通过git checkout代码一直不能成功,无论是使用git://github.com/joyent/node.git还是https://github.com/joyent/node.git。所以只能从github网上上下载后再编译安装,具体步骤如下:
# wget https://nodeload.github.com/joyent/node/tarball/master
# mv master node.tar.gz
# tar xzvf node.tar.gz
# cd joyent-node-84d0b1b
# ./configure --prefix=/opt/node/
# make
# make install
# cd /usr/bin
# ln -s /opt/node/bin/node node
# ln -s /opt/node/bin/node-waf node-waf
3. 安装npm
npm是用来安装node.js库的包管理器,安装命令相当地简单:
至此,安装完毕。
在上面的内容中,只用简单的几步就完成了安装。虽然看起来安装都是成功的,但是实际如何就要求我们写一个程序来进行验证一下。由于最近也在学习MongoDB,所以就写一个读取MongoDB数据库:计算actionId为772的日志总数。
4. 使用安装mongodb驱动
# npm install mongodb
npm WARN mongodb@0.9.6-23 package.json: bugs['web'] should probably be bugs['url']
npm WARN nodeunit@0.5.1 package.json: bugs['web'] should probably be bugs['url']
> mongodb@0.9.6-23 install /root/develop/node/node_modules/mongodb
> bash ./install.sh
================================================================================
= =
= To install with C++ bson parser do
= the parser only works for node 0.4.X or lower =
= =
================================================================================
Not building native library for cygwin
Using GNU make
mongodb@0.9.6-23 ./node_modules/mongodb
根据提示执行:
# cd node_modules/mongodb
# bash ./install.sh
注意:驱动必须安装在项目所在的目录下,并不是安装一次所有项目都可以使用。
5. 编写测试代码mongo.js
var http = require('http');
var mongodb = require('mongodb');
http.createServer(function(req, res){
res.writeHead(200, {'Content-Type': 'text/plain;charset=utf-8'});
mongodb.connect('mongodb://localhost:40202/log', function(err, conn){
conn.collection('log', function(err, coll){
coll.count({'action': 772}, function(err, count){
res.write('The total of action 772 is ' + count + ".\n");
res.end();
});
});
});
}).listen(3000, '127.0.0.1');
console.log('Server running at http://127.0.0.1:3000/');
启动服务器:
# node mongo.js
在浏览器访问http://127.0.0.1:3000,可以看到如下输出:
现在可以说前面的安装过程是正确,开了个好头。

JavaScript在现实世界中的应用包括前端和后端开发。1)通过构建TODO列表应用展示前端应用,涉及DOM操作和事件处理。2)通过Node.js和Express构建RESTfulAPI展示后端应用。

JavaScript在Web开发中的主要用途包括客户端交互、表单验证和异步通信。1)通过DOM操作实现动态内容更新和用户交互;2)在用户提交数据前进行客户端验证,提高用户体验;3)通过AJAX技术实现与服务器的无刷新通信。

理解JavaScript引擎内部工作原理对开发者重要,因为它能帮助编写更高效的代码并理解性能瓶颈和优化策略。1)引擎的工作流程包括解析、编译和执行三个阶段;2)执行过程中,引擎会进行动态优化,如内联缓存和隐藏类;3)最佳实践包括避免全局变量、优化循环、使用const和let,以及避免过度使用闭包。

Python更适合初学者,学习曲线平缓,语法简洁;JavaScript适合前端开发,学习曲线较陡,语法灵活。1.Python语法直观,适用于数据科学和后端开发。2.JavaScript灵活,广泛用于前端和服务器端编程。

Python和JavaScript在社区、库和资源方面的对比各有优劣。1)Python社区友好,适合初学者,但前端开发资源不如JavaScript丰富。2)Python在数据科学和机器学习库方面强大,JavaScript则在前端开发库和框架上更胜一筹。3)两者的学习资源都丰富,但Python适合从官方文档开始,JavaScript则以MDNWebDocs为佳。选择应基于项目需求和个人兴趣。

从C/C 转向JavaScript需要适应动态类型、垃圾回收和异步编程等特点。1)C/C 是静态类型语言,需手动管理内存,而JavaScript是动态类型,垃圾回收自动处理。2)C/C 需编译成机器码,JavaScript则为解释型语言。3)JavaScript引入闭包、原型链和Promise等概念,增强了灵活性和异步编程能力。

不同JavaScript引擎在解析和执行JavaScript代码时,效果会有所不同,因为每个引擎的实现原理和优化策略各有差异。1.词法分析:将源码转换为词法单元。2.语法分析:生成抽象语法树。3.优化和编译:通过JIT编译器生成机器码。4.执行:运行机器码。V8引擎通过即时编译和隐藏类优化,SpiderMonkey使用类型推断系统,导致在相同代码上的性能表现不同。

JavaScript在现实世界中的应用包括服务器端编程、移动应用开发和物联网控制:1.通过Node.js实现服务器端编程,适用于高并发请求处理。2.通过ReactNative进行移动应用开发,支持跨平台部署。3.通过Johnny-Five库用于物联网设备控制,适用于硬件交互。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

Dreamweaver Mac版
视觉化网页开发工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。