`
atian25
  • 浏览: 462235 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Hello NodeJS - 准备工作

阅读更多

1.为什么用NodeJS

 

作为同样的初学者,在这方面没多大的发言权.

就我个人而言, 纯JS解决方案是导致我研究它的兴趣点之一,

 

 

作为一个前端JS控,你是不是在为extjs,jquery欢呼的同时,对着那linux shell,java,php两眼发昏?OK,你需要的救世主是NodeJS。

 

一个不错的幻灯片: http://www.slideshare.net/q3boy/nodejs-nae

 

一些参考文章:

 

适用场景:
  • JSON APIs——构建一个Rest/JSON API服务,Node.js可以充分发挥其非阻塞IO模型以及JavaScript对JSON的功能支持(如JSON.stringfy函数)
  • 单页面、多Ajax请求应用——如Gmail,前端有大量的异步请求,需要服务后端有极高的响应速度
  • 基于Node.js开发Unix命令行工具——Node.js可以大量生产子进程,并以流的方式输出,这使得它非常适合做Unix命令行工具
  • 流式数据——传统的Web应用,通常会将HTTP请求和响应看成是原子事件。而Node.js会充分利用流式数据这个特点,构建非常酷的应用。如实时文件上传系统transloadit
  • 准实时应用系统——如聊天系统、微博系统,但Javascript是有垃圾回收机制的,这就意味着,系统的响应时间是不平滑的(GC垃圾回收会导致系统这一时刻停止工作)。如果想要构建硬实时应用系统,Erlang是个不错的选择

 

不适用: 

  • CPU使用率较重、IO使用率较轻的应用——如视频编码、人工智能等,Node.js的优势无法发挥
  • 简单Web应用——此类应用的特点是,流量低、物理架构简单,Node.js无法提供像Ruby的Rails或者Python的Django这样强大的框架
  • NoSQL + Node.js——如果仅仅是为了追求时髦,且自己对这两门技术还未深入理解的情况下,不要冒险将业务系统搭建在这两个漂亮的名词上,建议使用MySQL之类的传统数据库

 

 

引用
我想不仅仅是NodeJS,当我们要引入任何一种新技术前都必须要搞清楚几个问题:
1.我们遇到了什么问题?
2.这项新技术解决什么问题,是否契合我们遇到的问题?
3.我们遇到问题的多种解决方案中,当前这项新技术的优势体现在哪儿?
4.使用新技术,带来哪些新问题,严重么,我们能否解决掉?

 

             -- 一本很不错的入门指引。不过不要被其中简单的示例吓到了,Node有很多类库来帮助你。

 

  • 几个回答nodejs适合的场景的帖子:

http://sammor.iteye.com/blog/969300

http://www.360doc.com/content/12/0110/18/5447793_178573224.shtml

http://www.cnblogs.com/rmbteam/archive/2011/08/02/2124885.html

http://www.ibm.com/developerworks/cn/opensource/os-nodejs/index.html?ca=drs

 

 

2.Node相关资源

 

 

             -- @一回 翻译的NodeJS的一个主流类库的使用手册。(注:最后的API他没翻译,建议看完后再去看看原版。)

 

 

3.NodeJS安装配置

 

  • 官方网站及下载地址: http://nodejs.org/
  • 建议在Ubuntu下开发.win下有一些第三方类库编译有兼容性问题(大部分都通过github最新源码解决)
  • 若是win下,安装后建议环境变量PATH添加node的安装目录,将增加node和npm两个指令.

 


4.开发工具

 

是不是迫不及待了? 好,工欲善其事,必先利其器。下面推荐几个轻量级的IDE (当然,你可以用万能的Eclipse)

 

  • Sublime Text 2

我个人是在使用这个编辑器,最近挺流行的,用的挺舒服的,可以考虑把UltraEdit丢掉.

永久试用,支持多种操作系统. http://www.sublimetext.com/

来自盛大创新院的@大城小胖 最近在大力推广: http://xbeta.info/sublime-text2.htm


 

Nide是一个基于Web的开源的Node.js IDE,在MIT License下开源,代码托管于GitHub。其设计思想是简单、易用。Nide最初是在一个叫做Node Knockout的48小时编程竞赛中开发产生的。

 


5.WEB项目初始化

 

  • 安装Express
    • Express是NodeJS上的一个常用的类库,用于简化开发。
    • 安装方法,先在命令行执行: npm install -g express
    • 你也可以用metor.js, derby.js等框架。
  • 初始化项目
    • 命令行执行:  express d:\workspace\TestNode
    • 进入目录: cd  d:\workspace\TestNode
    • 安装依赖: npm install -d
    • 目录树截图


    •  
  • 运行
    • 运行: node app.js
    • 访问: http://localhost:3000

 

6.版本管理

  • 大小: 84.5 KB
  • 大小: 23.9 KB
  • 大小: 87.9 KB
分享到:
评论
6 楼 JohnJing 2013-05-30  
atian25 写道
JohnJing 写道
使用express d:\workspace\TestNode初始化项目出错:
'express' 不是内部或外部命令,也不是可运行的程序或批处理文件。


npm install express -g

谢谢,已经解决。
5 楼 atian25 2013-05-10  
JohnJing 写道
使用express d:\workspace\TestNode初始化项目出错:
'express' 不是内部或外部命令,也不是可运行的程序或批处理文件。


npm install express -g
4 楼 JohnJing 2013-05-02  
使用express d:\workspace\TestNode初始化项目出错:
'express' 不是内部或外部命令,也不是可运行的程序或批处理文件。
3 楼 jaystefanie 2012-09-07  
最近想看看node.js 收藏
2 楼 步青龙 2012-09-05  
     大赞啊,学习下!!3qq!!!
1 楼 kimmking 2012-09-05  
果断收藏。。。

相关推荐

    alexa-nodejs-k8s-helloworld:在K8S中运行的Alexa Skill

    在此存储库中,您将找到转换或创建Alexa Skill作为NodeJS Express应用程序准备在Kubernetes上运行所需的所有资源。 这些是您可以在kubernetes上运行Alexa Skill的两个可能选项: 1.使用Mongo Atlas云架构 2.使用...

    hello-devops

    hello-node是一个使用RabbitMQ队列并将任何消息存储在MySQL数据库上的工作程序。 还有一个create_database.sql脚本,可帮助您准备MySQL数据库。 每个应用程序都包含一个简短的自述文件,其中包含更多信息。 问题 ...

    一起学 Node.js

    准备工作 目录结构 安装依赖模块 ESLint EditorConfig 配置文件 config-lite 功能设计 功能与路由设计 会话 页面通知 权限控制 页面设计 组件 app.locals 和 res.locals 连接数据库 为什么使用 Mongolass 注册 用户...

    node-hello-world

    %PATH% 转到该项目所在文件夹中的终端(您拥有文件helloworld.js) 类型:节点hellorworld.js 打开浏览器并输入localhost:8080 准备就绪:D 然后,可以使用相同的URL下载.msi并进行安装,这很酷。 如果这样做,则...

    手把手教你把nodejs部署到linux上跑出hello world

    文件较大, 大家在上车动手之前可以先准备好下载文件在搞起来. 反正我是打了好几局 LOL 才下载完的. 首先安装 VMware 1. 下载 VMware 因为我们没有在 linux 上编程的必要(除非你是个大牛 || 装逼达人), 所以我们选择...

    dockerimage.nodejs_arm64v8

    使用Docker Hub的自动构建构建多... GitHub更新( commit )触发以下Docker映像的自动构建:Docker Hub自动构建规则Docker Hub自动构建挂钩pre_build 该为构建arm64映像准备了arm64post_push 该创建一个多架构清单参考 ...

    利用C/C++编写node.js原生模块的方法教程

    一直想了解一下使用C/C++编写nodejs原生模块,从网上找到的博客,大多都停留在如何搭建环境,然后一个Hello World完事。连更多的参考资料也没有。于是就自己整理了一下,分享于此。 至于准备环境什么的,网上一抓一...

    hello-android:本教程可帮助Android开发人员使用Hasura为应用程序构建后端

    在nodejs(自定义微服务)中创建服务器: 实现自定义业务逻辑 处理推送通知 使用WebSocket处理实时数据 先决条件 Android应用程序开发的基础知识。 对Javascript的基本了解或至少有准备将其掌握。 对关系数据库...

    Node.js 开发指南.pdf

    5.1 准备工作 80 5.1.1 使用http模块 82 5.1.2 Express框架 83 5.2 快速开始 84 5.2.1 安装Express 84 5.2.2 建立工程 85 5.2.3 启动服务器 86 5.2.4 工程的结构 87 5.3 路由控制 89 5.3.1 工作...

    Rust-PhoneGap

    Cordova Hello World 插件 演示如何从 JavaScript 调用原生 Rust 函数的简单插件 用来自 rust 的日期字符串来问候用户是可以在 JavaScript 中完成的事情。 这个插件提供了一个简单的例子来演示 Cordova 插件的工作...

    grpc服务器在云上运行

    在Cloud Run上运行的示例gRPC服务器...测试连接使用nodejs模块安装CLI客户端: npm install -g grpcc并运行它: grpcc -p helloworld.proto -a [Cloud Run App host]:443> client.sayHello({"name": "your name"}, pr)

    harmonyos2-EvaSkeleton.js:EvaEngine.js的骨架应用

    准备一个空目录: mkdir myproject cd myproject wget https://github.com/EvaEngine/EvaSkeleton.js/archive/master.tar.gz -O master.tar.gz && tar xvf master.tar.gz --strip 1 && rm master.tar.gz 由 Docker ...

    react native:在windows上搭建安卓环境并在虚拟机上启动Hello World

    一,环境搭建准备 windows系统(建议8G内存或以上) Node Python2 JDK1.8 Android Studio 二,JDK1.8安装盘配置(略) 三,安装配置Node 打开NodeJs的官网下载页面:https://nodejs.org/en/download/ 根据系统选择...

    generator-yogo

    使用准备在系统上安装nodejs和npm 在系统上安装yeomannpm install -g yo 安装generator-yogo npm install generator-yogo 启动发电机yo yogo建立新专案在GOPATH / src中创建一个新目录 cd $GOPATH /srcmkdir ...

    nodebots-day-2018

    安装Nodejs 可用板Arduino Uno [入门]工具IDE: : 入门这些设备已准备就绪,应该已加载固件,但如果没有,则: 通过USB将Arduino连接到计算机打开Arduino IDE 工具>板子:(应自动检测'Arduino / Genuino Uno'板子,...

    grunt-typograf:使用Grunt使用Typograf准备文本

    unt-typograf 使用为Grunt准备文本。安装npm install typograf grunt-typograf --save-dev用法Gruntfile.js module . exports = function ( grunt ) { grunt . initConfig ( { typograf : { compile : { options : {...

    api-driven-development:API 驱动开发研讨会

    准备你的环境在本章中,您将有机会熟悉 nodejs。 在这里,您将了解以下内容: JavaScript 的基础node基础(异步i/o、http、stream) npm的基础知识Git 和 GitHub 的基础知识02. 你好 TodoMVC 我们将遵循的示例基于...

    WaterLog-assistant-app:使用Google Assistant和语音界面跟踪您的每日饮水量

    涝灾 使用Google Assistant和语音界面... 它被设计为可用于生产环境的应用程序,包含基本的单元测试和清晰的代码,以准备在类似的应用程序中进行进一步的开发或改编。 如果您有Node.js / JavaScript开发的经验,欢迎您

    kolba:一个分享你信念的框架

    return 'Hello Kolba!' ; } ) ; app . run ( 3000 ) ; Kolba 是一个简单的 nodeJS 网络框架,深受影响。 旨在提供像这样的框架所缺乏的结构,而没有像这样的库中的。 安装 安装: npm install kolba 并使用: ...

Global site tag (gtag.js) - Google Analytics