`
atian25
  • 浏览: 467636 次
  • 性别: 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  
果断收藏。。。

相关推荐

    nodejs-hello-world:测试OCP

    这个"nodejs-hello-world"项目是新手入门Node.js的一个常见起点,它帮助开发者了解如何在Node.js环境中创建简单的应用程序。"OCP"通常指的是Oracle Certified Professional,这可能是指此项目作为学习或认证准备的一...

    nodejs完整安装教程(带软件)

    **二、安装前准备** 在开始安装Node.js之前,确保你的计算机满足以下基本要求: 1. 对于Windows系统,至少需要Windows 7或更高版本。 2. macOS用户应确保拥有最新版本的Xcode Command Line Tools。 3. Linux用户需...

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

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

    nodejs-rest:https的源代码

    res.send('Hello, Secure World!'); }); // 使用SSL证书和密钥启动HTTPS服务器 const options = { key: fs.readFileSync('server.key'), cert: fs.readFileSync('server.crt') }; https.createServer(options, ...

    nodejs-basics:Node.js基础的项目文件

    这个"nodejs-basics"项目文件集是为Treehouse上的Node.js基础知识课程准备的,旨在帮助初学者掌握Node.js的核心概念和用法。 1. **安装与环境配置** 在开始学习之前,你需要确保已经安装了Node.js。访问官方网站...

    nodejs 入门.pdf

    #### 三、准备工作 在学习 Node.js 之前,建议具备一定的计算机编程基础,特别是 JavaScript 相关知识。了解其他编程语言(如 PHP、Java)也会有所帮助。 #### 四、安装与版本检查 可以通过命令 `node -v` 来查看...

    hello-devops

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

    深入浅出Nodejs.pdf

    当响应准备好后,相应的回调函数会被触发,处理响应逻辑。 Node.js通过这种非阻塞I/O操作,大大提高了后端服务的性能,特别适合用于构建可扩展的网络应用。Node.js还内置了一系列的模块,如HTTP、HTTPS、DNS、NET、...

    linux centos 6.5下安装nodejs

    #### 一、环境准备与前提条件 在正式开始安装 Node.js 之前,确保你的 CentOS 6.5 系统已经更新到了最新状态,并且安装了必要的工具,如 `wget` 或 `curl` 等用于下载软件包的工具。 1. **系统更新:** ```bash ...

    NodeJS、NPM安装配置步骤(windows版本) 以及环境变量详解

    通过上述步骤,一个Windows用户可以成功安装NodeJS和NPM,并配置相关的环境变量,为开发NodeJS应用程序做好准备。对于初学者而言,此过程可以帮助其快速搭建NodeJS的开发环境,并通过实践加深对NodeJS和NPM的理解。

    一起学 Node.js

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

    node-hello-world

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

    hello-jenkins:我用来测试 Jenkins 的超级示例应用程序

    这个“hello-jenkins”项目是为了演示 Jenkins 的基本功能和工作流程,帮助用户理解如何配置和使用 Jenkins 进行持续集成。 【JavaScript 在 CI/CD 中的作用】 在“hello-jenkins”项目中,JavaScript 作为主要的...

    cordova环境搭建(win7).pdf

    现在,Cordova环境已准备就绪,可以创建应用工程。选择一个工作空间,然后运行: - `cordova create hello com.example.hello HelloWorld -d` - 'hello' 是项目目录名 - 'com.example.hello' 是类似于Java包名的...

    dockerimage.nodejs_arm64v8

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

    搭建一个nodejs脚手架的方法步骤

    它们简化了开发流程,减少了手动创建项目所需的时间与工作量。本文将详细介绍如何基于Node.js搭建这样一个脚手架。 #### 1.1 为何需要脚手架 脚手架对于软件开发来说具有以下几方面的优势: - **减少重复劳动**:...

Global site tag (gtag.js) - Google Analytics