1.现在最新版本是0.8.2,不到1.0应该还没稳定吧?我看文档api变化挺大的,早些时候好像是sys模块,现在变成了util,这样在以后是否会不兼容? 2.require(‘模块’),是否所有模块都必须先require?有没有像java的java.lang那样默认包含的模块,是哪个或哪些? 3.感觉node.js的核心或者自带的api比较少,这样是否说明现在node.js能实现的功能还比较少?还不能像其他脚本语言那样(python等)实现全面shell编程? 4.后台网站连接数据库是基本功能,node.js好像没有自带,而要安装第三方模块,这样会不会像php那样引起连接数据库操作的不统一?
我来回答一下第一个问题吧。
现在 node 的文档里都标了 Stability (稳定性级别),像 util 现在是 Stability: 5 - Locked
应该就不会变了。
文档里有关于 Stability Index 的说明 http://nodejs.org/api/documentation.html
顺便去统计了下 Node 核心模块的情况:
STDIO: 4
Timer: 5
Modules: 5
Util: 5
Events: 4
Domain: 1
Buffer: 3
Stream: 2
Crypto: 3
TLS: 3
StringDecoder: 3
FileSystem: 3
Path: 3
Net: 3
UDP: 3
DNS: 3
HTTP: 3
HTTPS: 3
URL: 3
QueryString: 3
Punycode: 2
Readline: 2
VM: 2
ChildProcess: 3
Assert: 5
TTY: 2
Zlib: 3
OS: 4
Debugger: 3
Cluster: 1
统计结果: 5-Locked 4 4-API Frozen 3 3-Stable 16 2-Unstable 5 1-Experimental 2
Stability 为 4 和 5 的原则上不会改变接口,3 的只可能做小的调整,并且就算改变也会保证向下兼容(Backwards-compatibility is guaranteed)。
对我来说,比较常用的模块都在3及以上了,所以在我看来 Node 已经是比较稳定的了。
第一个问题可以看论坛文章:Node.js文档学习笔记 第二个问题:ECMAScript范围内的都是不用require,这个可以看一些JS的基础规范 第三个问题:nodejs的第三方扩展模块是相当多的,本身自带的api都是基础功能覆盖。 第四个问题:我个人感觉这个更自由,比一味的jdbc强吧,再说nodejs的数据库搭档首选是NoSQL数据库而不是关系数据库。
- 楼上已回答
- 在Node.js中,所有的模块(包括核心模块、文件模块和第三方模块)都需要用require进行获取,在表层环境中,Node.js所带有的API,也就只有JavaScript标准中所定义的Function、Object、Array等构造函数和process、console等对象。
- 这是一个误区,Node.js的API并非少,而且十分详细,我们可以用他们的不同组合,实现不同的功能,开发出不同的框架。当然,如果你还是觉得不够,可以写一个C/C++ Addons,通过系统底层来拓展API。
- Node.js是一个平台,而且是一个崇尚轻量化、灵活性的平台,我们完全可以把PHP比喻成“一条龙服务”,而Node.js则是“高级自助餐”,能伸能缩,大道至简。Node.js原生不带数据库连接功能,是为了保持Node.js的灵活性,也是一个聪明的举动,Node.js没有向哪一种数据库招手。