为什么要用nodejs mysql

nodejs的使用_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
nodejs的使用
上传于||文档简介
&&关​于​n​o​d​e​j​s​的​安​装
大小:208.00KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢1.为什么要开始用nodejs, 而不是php
理由有三点:
因为我是前端程序员出身,nodejs都是用javascript写的,这样相当于前端和后端都使用javascript,开发更加有效率。当然很多网友提到这里有一个悖论,就是虽然是同一个语言写的框架/类库,但不依靠文档还是不会用。然而不可否认的是,相同的语言基础确实降低了理解的难度,这一点不可忽视。
nodejs是现在最流行的短平快web后端开发技术,解决大规模I/O问题及其高效,其社区也非常火。使用sailjs+nodejs可以快速开发原型。举个例子,咱们的服务器后端肯定要定义一个用户对象,并在数据库中存取数据。php+codeigniter只能定义对象后,一个一个写对应的增删改查的rest API。使用sailjs+nodejs方案,只需要在后端定义这么一个用户对象,那么可以自动地生成对这个节点对象的增删改查的rest API,极大提高开发效率。
据说在程序员之间引起战争,最简单的办法就是发个帖子赞美php打压其他后台脚本语言,然后其他语言的爱好者就会一拥而上,帖子点击轻松破万有木有。事实上php经过这么多年的发展,其实能做的比我们想象的要多得多??能做的都做了,不能做的创造条件也做了。例如新浪大部分服务都是php实现的。在计算机界,比起硬件的更新换代,编程语言的变化又慢又不明显。我对php应该是有感情的。但是事实上,后端我通常都是有人帮忙,我专心做前端,所以php我并不是特别熟练。当面临要单干的现状时,我迫切地需要一种可以最大限度扬长避短的方案。何况追求新技术跟研究老技术其实并不矛盾。既然如此,不如直接上nodejs。
2.javascript后台运行效率是否比较低?
nodejs这个服务器端javascript框架出现后,很多人质疑其效率是否比较低。这也很正常,因为javascript本来就是是用C编写的前端脚本语言,本身依赖解释器运行,运行效率当然没有编译运行的C高??但是不要忘记,php, ruby, python,大家都是解释型脚本语言。nodejs在服务器端后台使用的是V8引擎,V8在运行之前将JavaScript编译成了机器码,而非字节码或是解释执行 它,以此提升性能。更进一步,使用了如内联缓存(inline caching)等方法来提高性能。有了这些功能,JavaScript程序与V8引擎的速度媲美二进制编译。现在主流的动态语言里面,执行效率排序大概是 JavaScript & Python & Ruby (假设用常见的解释器:V8、CPython、MRI)。下文还有更深刻的例子,摘自知乎/question/。
总而言之,你可以看到,作为服务器,nodejs是足够快了。其在解决高并发访问方面相对php有相当优势,npm模块化令其安装方便,因而现在已经有很多公司企业采用Nodejs进行开发,github的node项目上详细列举了使用node开发的程序/joyent/node/wiki/Projects,-Applications,-and-Companies-Using-Node,我认为从09年到现在,node可以说已经是比较成熟的技术方案了。
但是,nodejs主要解决的是并发访问问题,对大规模服务器端计算并没有特别的优化。这里javascript的确有些弱势,其一:javascript这类弱类型解释型语言,计算效率不高。例如计算最大质数的问题,javascript比java要慢1,2个数量级 ,这还不算浮点数精度差异。(事实上,计算最大质数的问题一般都是都是用C语言+分布式计算来处理。)其二:nodejs是单线程的,任何 CPU密集型操作会削弱掉 Node通过事件驱动、异步 I/O 模型等等带来的在吞吐量上的优势,因为当线程被非异步的高计算量占用时任何传入的请求将被阻塞。 这意味着丧失了node的高并发优势,同时带来高延时。
对此的解决方法,有两种:其一:可以对于关键计算的模块,可以采用java甚至C/C++来写。将繁重的计算转移到更合适的语言写的后台进程来处理,同时让他们通过像 RabbitMQ 那样通过消息队列服务器来进行通信,这是最常见的做法。(我坦言C/C++我写不了,没有经验)其二:涉及到服务器上多核并发处理,Node 的核心团队已经使用 cluster 模块的形式在这一方面做了一些工作 (参考:http://nodejs.org/api/cluster.html)。当然,也可以很容易的通过 nginx 的反向代理运行多个 Node.js 的服务器实例来避免单一线程阻塞的问题。这样的设置有很高的可扩展性,例如一开始的时候可以在一台服务器上运行多个实例,等计算量大时就可以分配到多个节点服务器上运行。用 Node.js 你可以得到很高的吞吐量,每个请求都作为一个小任务非常迅速和高效地处理。
3.javascript代码是否有保密性?首先我要说明,browser端的代码都是明文,不存在编译反编译一说。如果要保密的话,可以使用js代码压缩工具使得代码不可读,但是也有工具可以反压缩,例如http://jsbeautifier.org。所以,如果重要逻辑放在browser端肯定是没有任何保密性可言的。这就是为什么大多数javascript框架都是开源的,因为它天生是开源的。但是,放在服务器端的程序,则是保密的。除非服务器被黑客入侵了。所以一般来讲,都会将重要的逻辑放在服务器端实现。目前我还没有研究过如何把服务器端的js代码加密,因为暂时没有这样的需求。现在较为流行的做法是卖服务,而不是卖程序本身。
4.nodejs的相关框架是否成熟?
从实践上说,nodejs只是提供了建筑工具,为了快速原型我们还是需要一套脚手架和铝合金门窗。目前nodejs的这种MVC框架也就只有express和sails这两个选择。其中express是名气最大的的nodejs框架,大多数nodejs项目都用了它;而sails则在它的基础上更上层楼,关于二者的对比这里可以稍微参考一下:/compare/sails-js/vs/express-web-framework。相比express,我更喜欢sails。对于一个后台的MVC框架,我们最需要的就是两点:简易的路由和好用的ORM。路由方面,sails采用了express的路由和模版,所以可以放心。ROM方面,sails基本是仿照rails来做的,有着类似的ORM机制,所以也可以放心。sailsjs在创建对象、生成RESTful API方面更是极为方便,它可以自动地为每个模型创建增删改查接口,这点天生强悍,而php天生弱势(php由于自身原因不直接支持delete语义,还得用别的办法模拟)。这点在前端配合使用angularjs的时候非常方便,因为angularjs的$resource模块就是完全restful风格的,双方对接起来特别顺畅。此外sails还有一大优势就是开发实时通信的项目,例如有很多chart的dashboard??这不就是我们的需求吗?它对websocket支持的很好(这也是nodejs的优势),只需要写很少的代码就可以实现功能。当然sailjs也有弱点,就是文档还不是很丰富,中文资料就更少啦。就跟我当初用angularjs一样。我的研究生同学侯振宇在他的一篇博客中也说明了选择sailjs的理由:/sskyy/p/3498273.html。
5.我推荐的nodejs后端开发套件追求实时操作的dashboard webApp,同时兼顾性能和扩展性:linux + sailjs + nodejs + mongodb挑战最新的前后端全MVVM开发模式: linux + meteor.js + nodejs + mongodb
(Meteor专注于创建一个完全新型的实时web应用框架,它会令webApp的开发和使用更像一个本地App,特别有创新性,让人看到了全新开发模式的可能性。具体请去查看)nodejs 和angularjs有什么关系,angualr是前端的东西,为什么需要Nodejs_百度知道
nodejs 和angularjs有什么关系,angualr是前端的东西,为什么需要Nodejs
提问者采纳
虽都js结尾真能比
但是现在做的项目
用了angular,nodejs
说是后台的东西
为什么需要node,也没看出node起的作用
不知道node提供的服务
node提供例如io文件操作,数据库操作,网络内容提供者(server)等等,js不再操作dom,而是操作一切
但是后台开发人员用的java
tomcate服务器
前端的话,为什么还要使用node,node是js开发的,可以操作数据库吗
并发不在一个数量级的...不过java是工业级语言,不能黑他。。。
node是后端,地位 = java写逻辑 + tomcat/apache 做server,写前端用node是使用node上的工具如grunt gulp吧
抄袭,哈哈
///i/sys/jump?un=%C3%D4%B5%FC%C4%E6%CF%C4%84%81& onclick=&Stats.sendRequest('fr=tb0_forum&st_mod=pb&st_value=atlink');& onmouseover=&showattip(this)& onmouseout=&hideattip(this)& username=&%C3%D4%B5%FC%C4%E6%CF%C4%84%81& target=&_blank& class=&at&&迷迭逆夏剚
:安装相关模块就可以操作数据库。
提问者评价
其他类似问题
angular用nodejs主要用npm工具包npm面便工具用前端发例- 合并js,css- 压缩js- 压缩图片- jssource map- 编译 less css- 运行测试unit test- Grunt, Gulp任务管理自化面所任务
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁nodejs初步体验篇
作者:@聂微东
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了nodejs初步体验篇的相关资料,需要的朋友可以参考下
前言:写这篇文章的由来:
  1.前段时间单位有新项目启动,服务端要做的工作不多也不算麻烦,就是处理一些中间层的服务,而且我们团队里面个个都会JavaScript,领导就决定试试服务器端的JavaScript,结果本人有幸被派去研究了几天Node,怀着鸡冻的心情开始了node.js的篇章,这篇文章也就是为这几天研究的总结。
  2.一个JavaScript工程师如果没听过node.js那么我想你是不是错过了什么,每个优秀的前端工程师都有必要去了解后台处理流程,那么如果又能从JavaScript出发,岂不是一件很美妙的事么。
  3.互联网的火热使得JavaScript风光无限,且服务端的JavaScript也并不是什么新技术了,相关的框架也有不少,只是node.js的成功让他爆发式的出现在我们的视线中,让很多前端工程师看到了从前端写到后端的另一种实现希望。注:node.js 是一个允许开发人员使用 JavaScript 语言编写服务器端代码的框架。
  4.今年8月曾在某大公司最后一轮(第五轮)的面试被问到Node.js的问题,相对应的回答那是相当之糟糕,结果怎样你们懂的,感觉这个问题是导致没有通过的关键点之一...那家公司是我在读大学的时候就无比向往的公司,现在回想起那次经历和过程,谈不上惋惜,毕竟我真的尽力了 - 其实这篇文章更多的也是为了完成自己一个小小的心结...好吧,又扯远了。
  5.欢迎各种转载,不过请注明出处,谢谢。
Node是个啥?
  写个东西还是尽量面面俱到吧,所以有关基本概念的东西我也从网上选择性的拿了些下来,有些地方针对自己的理解有所改动,对这些概念性的东西有过了解的可选择跳过这段。
  1.Node 是一个服务器端 JavaScript 解释器,可是真的以为JavaScript不错的同学学习Node就能轻松拿下,那么你就错了,总结:水深不深我还不知道,不过确实不浅。
  2.Node 的目标是帮助程序员构建高度可伸缩的应用程序,编写能够处理数万条同时连接到一个物理机的连接代码。处理高并发和异步I/O是Node受到开发人员的关注的原因之一。
  3.Node 本身运行Google V8 JavaScript引擎,所以速度和性能非常好,看chrome就知道,而且Node对其封装的同时还改进了其处理二进制数据的能力。因此,Node不仅仅简单的使用了V8,还对其进行了优化,使其在各种环境下更加给力。(什么是V8 JavaScript 引擎?请“百度知道”)
  4.第三方的扩展和模块在Node的使用中起到重要的作用。下面也会介绍下载npm,npm就是模块的管理工具,用它安装各种 Node 的软件包(如express,redis等)并发布自己为Node写的软件包 。
  在这简单说说在window7和linux两种环境下安装Node。安装的时候一定要注意Python的版本,多次因为Python版本的问题安装失败,建议2.6+的版本,低版本会出现Node安装错误,查询Python版本可在终端中输入:pyhton -v
1.先介绍linux下的安装吧,Node在Linux环境下的安装和使用都非常方便,建议在Linux下运行Node,^_^...我使用的是Ubuntu11.04
   a.安装依赖包:50-100kb/s大概每个包一分钟就能下载安装完成
sudo apt-get install g++ curl libssl-dev apache2-utils
  sudo apt-get install git-core
   b.在终端一步步运行一下命令:
git clone git:///joyent/node.git
  cd node
  ./configure
  sudo make install
安装顺利的话到这一步Node就算安装成功了,2M的网络用了共计12分钟。
注:如果不用git下载也可以直接下载源码,不过这样下载安装需要注意Node版本问题。使用git下载安装是最方便的,所以推荐之。
2.在Windows下使用Cygwin安装Node,这个方式不太推荐,因为真的需要较长时间和较好的人品。我的系统是 win7旗舰版
  Cygwin是一个在windows平台上运行的unix模拟环境,下载地址:。
下载好Cygwin后开始安装,步骤:
   a.选择下载的来源 - Install from Internet
   b.选择下载安装的根目录
   c.选择下载文件所存放的目录
   d.选择连接的方式
   e.选择下载的网站 -
   f.麻烦就麻烦在这步,考验人品的时候到了。需要的下载安装时间不确定,反正需要比较长的时间(超过20分钟),偶尔会出现安装失败的情况。单击一下各个程序包前面的旋转箭头图标选择你想要的版本,选中时会出现了"x"号表示已经选中了该程序包。选择需要下载的程序包:
  Devel包:
    gcc-g++: C++ compiler
    gcc-mingw-g++: Mingw32 support headers and libraries for GCC C++
    gcc4-g++: G++ subpackage
    git: Fast Version Control System – core files
    make: The GNU version of the ‘make' utility
    openssl-devel: The OpenSSL development environment
    pkg-config: A utility used to retrieve information about installed libraries
    zlib-devel: The zlib compression/decompression library (development)
  Editor包:vim: Vi IMproved – enhanced vi editor
  Python包:把Default切换成install状态即可
  Web包:
    wget: Utility to retrieve files from the WWW via HTTP and FTP
    curl: Multi-protocol file transfer command-line tool
  上个截图,以下载zlib-devel为例:
  其上几步走完才算把环境搭建完成,可是现在还没有到安装Node,还需要在Cywgin的ASH模式下执行rebaseall,步骤如下:
   a. cmd命令行
   b. 进入cygwin安装目录下的bin子目录
   c. 运行ash进入shell模式
   d. ./rebaseall -v
   e. 没有错误就关闭命令行窗口
  好了,现在到下载安装Node了,启动Cygwin.exe后输入:
  $ wget
  $ tar xf node-v0.4.12.tar.gz
  $ cd node-v0.4.12
  $ ./configure
  $ make
  $ make install
  3.直接下载node.exe文件
  nodejs.org下载较慢所以我在网盘上传了一个,下载地址:
  听说有不太稳定的问题,不过你假如只是想先在windows下了解Node,个人感觉这个方法比你装个Cygwin好很多。
  注:原本不太想写安装Node这段,可是为了这篇文章的全面性还是写了,没想到一写就是那么长一段了...茶几了
“Hello World” - 为什么每次见到这句心情都会小激动,不解...
  首先,创建个hello.js的文件,在文件中copy如下代码:
  var http = require('http');
  http.createServer(function (req, res) {
   res.writeHead(200, {'Content-Type': 'text/plain'});
   res.end('Hello World\n');
  }).listen(1337, "127.0.0.1");
  console.log('Server running at http://127.0.0.1:1337/');
代码逻辑:
   a. 全局方法require()是用来导入模块的,一般直接把 require() 方法的返回值赋值给一个变量,在 JavaScript 代码中直接使用此变量即可 。require("http") 就是加载系统预置的 http 模块
   b. http.createServer 是模块的方法,目的就是创建并返回一个新的web server对象,并且给服务绑定一个回调,用以处理请求。
   c. 通过 http.listen() 方法就可以让该 HTTP 服务器在特定端口监听。
   d. console.log就不用多说了,了解firebug的都应该知道,Node实现了这个方法。
    注: 想了解具体细节请查看文档 cnodejs.org/cman/all.html#http.createServer
  接着运行Node服务器,执行hello.js代码,成功启动会看见console.log()中的文本。有图有真相:
npm的下载和使用
  除Node本身提供的API外,现在有不少第三方模块可极大的提高开发效率,npm就是Node的软件包管理器,可以用它安装所需软件包并发布自己为nodejs写的软件包。官网地址:npmjs.org
  安装只需要在终端写入一行代码:    
curl http://npmjs.org/install.sh | sh
  npm安装node扩展包同样是一行代码:  
npm install &包名&    
//例:npm install express
  注:如果安装模块的过程中报域名错误的话,请清空缓存 &npm cache clean 或重启计算机即可。
理解Node的模块概念
  在Node中,不同的功能组件被划分成不同的模块。应用可以根据自己的需要来选择使用合适的模块。每个模块都会暴露一些公共的方法或属性。模块的使用者直接使用这些方法或属性即可,对于内部的实现细节就可以不用了解。除了Node本身提供的API外,开发人员也可以利用这个机制来将应用拆分成多个模块,以提高代码的可复用性。
  1.如何使用模块?
  在Node中使用模块是非常方便的,在 JavaScript 代码中可以直接使用全局函数 require() 来加载一个模块。
  在刚刚”Hello World"的例子中,require("http") 可以加载系统预置的 http 模块;模块名称以 "./" 开始的,如 require("./myModule.js") 用来加载与当前 JavaScript 文件同一目录下的 myModule.js 模块。
  2.自己如何开发模块?
  刚刚介绍使用require()导入模块的时候,模块名称以 "./" 开始的这种,就是自己开发的模块文件。需要注意的就是JS文件的系统路径。
  代码中封装了模块的内部处理逻辑,一个模块一般都会暴露一些公开的方法或属性给其他的人使用。模块的内部代码需要把这些方法或属性给暴露出来。
  3.来一套简单的例子。先创建一个模块文件如myModule.js,就一行代码
  console.log('Hi Darren.')
  然后创建一个test.js文件,导入这个JS文件,执行node看到结果
  现在Node社区中已有不少第三方的模块,希望能有更多人通过学习Node,加入到这个大家庭中,为Node社区来添砖加瓦。先谢谢之,咱们继续。  
  4.来一个深点的例子。这个例子中将会针对 私有和共有 进行介绍。先创建一个myModule.js,代码如下:
var name = "Darren";
  this.location = "Beijing";
  this.showLog = function(){
   console.log('Hi Darren.')
  代码中出现了三种类型,分别是: 私用属性,共有属性和共有方法,再创建一个test.js,执行Node
  结果高亮的地方很清楚的告诉我们,私有方法我们在模块以外是取不到的,所以是undefined。共有属性和共有方法的声明需要在前面加上 this 关键字。
Node能做什么和它的优势
  Node核心思想:  1.非阻塞;  2.单线程;  3.事件驱动。
  在目前的web应用中,客户端和服务器端之间有些交互可以认为是基于事件的,那么AJAX就是页面及时响应的关键。每次发送一个请求时(不管请求的数据多么小),都会在网络里走一个来回。服务器必须针对这个请求作出响应,通常是开辟一个新的进程。那么越多用户访问这个页面,所发起的请求个数就会越来越多,就会出现内存溢出、逻辑交错带来的冲突、网络瘫痪、系统崩溃这些问题。
  Node的目标是提供一种构建可伸缩的网络应用的方案,在hello world例子中,服务器可以同时处理很多客户端连接。
  Node和操作系统有一种约定,如果创建了新的链接,操作系统就将通知Node,然后进入休眠。如果有人创建了新的链接,那么它(Node)执行一个回调,每一个链接只占用了非常小的(内存)堆栈开销。   
  举一个简单的异步调用的例子,把test.js和myMydule.js准备好了,^_^。把以下代码拷贝到test.js中并执行:
  var fs = require('fs');
  fs.readFile('./myModule.js', function (err, data) {
    if (err)
    console.log('successfully');
  console.log('async');
  所谓的异步,大家应该都能想得到运行时会先打先显示"async",再显示"successfully"。
  Node是无阻塞的,新请求到达服务器时,不需要为这个请求单独作什么事情。Node仅仅是在那里等待请求的发生,有请求就处理请求。
  Node更擅长处理体积小的请求以及基于事件的I/O。
  Node不仅仅是做一个Web服务的框架,它可以做更多,比如它可以做Socket服务,可以做比方说基于文件的,然后基于像一些比方说可以有子进程,然后内部的,它是一个很完整的事件机制,包括一些异步非注射的解决方案,而不仅仅局限在网络一层。同时它可能,即使作为一个Web服务来说,它也提供了更多可以深入这个服务内核、核心的一些功能,比方说Node使用的Http Agent,这块就是它可以更深入这个服务内核来去做一些功能。
Node事件流概念
  因为Node 采用的是事件驱动的模式,其中的很多模块都会产生各种不同的事件,可由模块来添加事件处理方法,所有能够产生事件的对象都是事件模块中的 EventEmitter 类的实例。代码是全世界通用的语言,所以我们还是用代码说话:
var events = require("events");
  var emitter = new events.EventEmitter();
  emitter.on("myEvent", function(msg) {
    console.log(msg);
  emitter.emit("myEvent", "Hello World.");
简单的分析这段:
   1. 使用require()方法添加了events模块并把返回值赋给了一个变量
   2. new events.EventEmitter()这句创建了一个事件触发器,也就是所谓的事件模块中的 EventEmitter 类的实例
   3. on(event, listener)用来为某个事件 event 添加事件处理方法监听器
   4. emit(event, [arg1], [arg2], [...]) 方法用来产生事件。以提供的参数作为监听器函数的参数,顺序执行监听器列表中的每个监听器函数。
  EventEmitter 类中的方法都与事件的产生和处理相关:
   1. addListener(event, listener) 和 on(event, listener) 这两个方法都是将一个监听器添加到指定事件的监听器数组的末尾
   2. once(event, listener) 这个方法为事件为添加一次性的监听器。该监听器在事件第一次触发时执行,过后将被移除
   3. removeListener(event, listener) 该方法用来将监听器从指定事件的监听器数组中移除出去
   4. emit(event, [arg1], [arg2], [...]) 刚刚提到过了。
  在Node中,存在各式各样不同的数据流,Stream(流)是一个由不同对象实现的抽象接口。例如请求HTTP服务器的request是一个流,类似于stdout(标准输出);包括文件系统、HTTP 请求和响应、以及 TCP/UDP 连接等。流可以是可读的,可写的,或者既可读又可写。所有流都是EventEmitter的实例,因此可以产生各种不同的事件。
  可读流主要会产生以下事件:
data&& 当读取到流中的数据时,此事件被触发
end&& 当流中没有数据可读时,此事件被触发
error&& 当读取数据出现错误时,此事件被触发
close&& 当流被关闭时,,此事件被触发,可是并不是所有流都会触发这个事件。(例如,一个连接进入的HTTP request流就不会触发'close'事件。)
  还有一种比较特殊的 fd 事件,当在流中接收到一个文件描述符时触发此事件。只有UNIX流支持这个功能,其他类型的流均不会触发此事件。
  相关详细文档:_
强大的File System 文件系统模块
  Node 中的 fs 模块用来对本地文件系统进行操作。文件的I/O是由标准POSIX函数封装而成。需要使用require('fs')访问这个模块。所有的方法都提供了异步和同步两种方式。
  fs 模块中提供的方法可以用来执行基本的文件操作,包括读、写、重命名、创建和删除目录以及获取文件元数据等。每个操作文件的方法都有同步和异步两个版本。
  异步操作的版本都会使用一个回调方法作为最后一个参数。当操作完成的时候,该回调方法会被调用。而回调方法的第一个参数总是保留为操作时可能出现的异常。如果操作正确成功,则第一个参数的值是 null 或 undefined 。
  同步操作的版本的方法名称则是在对应的异步方法之后加上一个 Sync 作为后缀。比如异步的 rename() 方法的同步版本是 renameSync() 。下面列出来了 fs 模块中的一些常用方法,都只介绍异步操作的版本。
  test.js和myModule.js文件准备好了木?把下面这段代码copy到test.js中执行一次
  var fs = require('fs');
  fs.unlink('./myModule.js', function (err) {
    if (err)
    console.log('successfully deleted myModule.js');
  如果没有报error,那么myModule.js就被删除了,就是这么简单
  这只是一个简单的例子,感兴趣的话自己去多多尝试,实践出真理。由于篇幅原因就不多举例了。^_^
学习Node的总结:
1.对于一个linux的命令和shell知识几乎为零的我来说,这段时间又学到了不少关于linux知识;vim真是一个强大的编辑器,不用鼠标的感觉真的很好;而且有一点对我来说很重要,在linux下编程很cool,尤其是在团队中都是使用windows的,装装更健康^_^。
2.理解了服务端JavaScript的一个成功框架-Node,以及它的一些优势和使用的方式,这篇文章就是最好的总结,当然,这只会是一个开始。
3.对于没有进入那么梦想的公司其实是有那么点遗憾,不过生活就应该要这样,有波折有起伏,这正是我需要并且期待的...那么新的生活还是要继续,做自己的舵手,把握好自己的方向,过去的就让它过去吧。
一些想对大伙说的话:
1. 在这我得打击一部分人的积极性。假如你对后台技术不够了解或者没接触过服务端语言,不知道I/O这些知识,没有后台处理流程这种概念,那么......Node并不是一门适合入门的服务端技术。为什么这么说:
   a.重点就是中文实例少,文章少,想系统的学习会比较麻烦,所以在使用过程中总有一种不成熟的感觉,当然主要还是因为我对它不熟悉所造成的。国内使用Node的公司确实不多,当然国外还是有不少了,从cnodejs.org截了一个图:
   b.对没有经验的朋友来说node其实并不好上手,从最简单“Hello world”就可以看出来(各种运行环境和安装细节的了解都得费点功夫),不要以jQuery库为比较,所处理的事物不同,学习的成本也不同 - 所以不太建议作为新手入门的服务端技术,如果想学习一门服务端语言PHP和Python都是不错的选择,因为:书多 例子多 框架多 上手简单 容易理解 搭建方便...
   c.以上都是我个人善意的建议,由于水平有限,请大家多多指教,希望嘴下留情。
2. 关于Node的书写规范和具体技巧本人就不献丑了,自己写Node的代码也不多,不过面向对象的编程思想在哪都是好使的。
以上内容是小编给大家介绍的nodejs初步体验篇,希望大家喜欢。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具

我要回帖

更多关于 为什么nodejs版本号有 的文章

 

随机推荐