Node.js基础学习

简介

简单的说 Node.js 就是运行在服务端的 JavaScript。Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好

安装

à安装node.js

在官网安装自己win版本的node.js的版本,下载,安装完毕后在运行中输入node -v若是出现版本号就证明安装成功。

à安装npm(模块)

这个npm是和node一起安装的包管理工具,能解决node.js代码部署的问题。我们可以直接通过运行中测试,npm -v

我们需要通过npm来安装一个express框架,我们需要定位到nodeJs文件夹(我电脑上的目录)下面,利用dos来操作,直接在文件夹里面按住shift右键,在此处运行命令符就行了。

(Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。使用 Express 可以快速地搭建一个完整功能的网站。)

我们可以通过下面的形式来安装这个框架。

这样就在nodeJs目录下面创建了node-modules文件夹,以后我们在本地安装的第三方的包都会在这个文件夹里面。

上面我一块安装了4个第三方的包,

*:body-parser 这个是node.js的中间件,用于处理json,raw,text和URL编码的数据。

*:cookie-parser 这是解析cookie的工具,通过req.cookies可以取到传过来的cookie,并把其转换为对象。

*: 也是个中间件,处理enctype="multipart/form-data"设置表单的MIME编码的表单数据。

  1. npm install body-parser --save
  2. npm install cookie-parser --save
  3. npm install multer --save

一安装我们的目录就和上面的图片一样,我们就可以在本项目中直接require()来引入本地安装的包。

我们可以在nodeJs目录下面新建个product来放我们的项目,这样我们可以让多个项目使用一个第三方包了。也不会出现端口的冲突。

关于node.js的基础我们可以在这里进行学习。http://www.runoob.com/nodejs

运行实现:"hello world"

在product下新建个test.js文件,在里面进行写js代码就可以实现输出,但是这里的输出我们要在dos下,进行观看。

我们可以通过在这个文件下面新建个html页面,接着通过执行node.test.js文件,它会自动运行服务器,我们在自己定义的9999端口下,可以打开网页里面的内容。

下面这个是js中的代码,我们通过js把html代码放回回去。

  1. //这里是调用外面我们需要使用的包
  2. var express=require("express");
  3. var app=express();
  4. //这里的两个参数,一个是请求,一个是响应
  5. app.get("/",function(request,response){
  6.   console.log(__dirname);
  7.   response.sendFile(__dirname+"/ahui.html"); //接受请求,放回给客户端的html页面
  8. })
  9. //定义服务端的代码,同时*/看是放回什么值
  10. var server=app.listen(9999,function(){
  11. var host=server.address().address;
  12. var port=server.address().port;
  13. console.log('应用实例,访问地址为http://%s%s',host,port); //这是在服务器端显示的代码
  14. });

我这里是由于没有使用编码所以才会出现乱码的。接着我们在浏览器中可以打开网页

它这里只要访问一次服务器,服务器就会把路径显示出来。就是这个样子。我们把服务器关闭,那么浏览器中的内容就出错了。

Node.js REPL(交互式解释器)

Node.js REPL表示一个电脑环境,类似于dos一样,我们可以在其中输入命令,并接收系统的响应。

Node自带了交互式解释器,可以执行以下任务。

à读取:读取用户输入,解析输入的js数据结构并存储在内存中。

à执行:执行输入的数据结构。

à打印:输出结果。

à循环:就是最基本的循环

上面的这些我们可以通过两次按下ctrl+c,来退出。

注意事项:里面可以进行一些简单的运算,你可以将数据存储在变量中,并在你需要的时候使用它,声明需要使用var,若是没有使用var关键字变量就会直接打印出来,使用var的变量可以通过console.log()来输出。

REPL命令

  • ctrl + c - 退出当前终端。
  • ctrl + c 按下两次 - 退出 Node REPL。
  • ctrl + d - 退出 Node REPL.
  • 向上/向下键 - 查看输入的历史命令
  • tab 键 - 列出当前命令
  • .help - 列出使用命令
  • .break - 退出多行表达式
  • .clear - 退出多行表达式
  • .save filename - 保存当前的 Node REPL 会话到指定文件
  • .load filename - 载入当前 Node REPL 会话的文件内容。

附件:

基础学习:http://www.runoob.com/nodejs

博客:http://www.cnblogs.com/chuaWeb/p/nodejs-npm.html

Node.js系列基础学习----安装,实现Hello World, REPL的更多相关文章

  1. Node.js系列基础学习-----回调函数,异步

    Node.js基础学习 Node.js回调函数 Node.js异步编程的直接体现就是回调,异步编程依托回调来实现,但不是异步.回调函数在完成任务后就会被调用,Node有很多的回调函数,其所有的API都 ...

  2. Node.js的基础学习1

    nodejs   windows下的调用方法: C:\Users\owen>node helloworld.jsHello WorldHello: 25 C:\Users\owen>nod ...

  3. Node.js npm基础安装配置&创建第一个VUE项目

    使用之前,我们先来明白这几个东西是用来干什么的. node.js: 一种javascript的运行环境,能够使得javascript脱离浏览器运行.Node.js的出现,使得前后端使用同一种语言,统一 ...

  4. node.js学习(二)--Node.js控制台(REPL)&&Node.js的基础和语法

    1.1.2 Node.js控制台(REPL) Node.js也有自己的虚拟的运行环境:REPL. 我们可以使用它来执行任何的Node.js或者javascript代码.还可以引入模块和使用文件系统. ...

  5. node.js系列笔记之node.js初识《一》

    node.js系列笔记之node.js初识<一> 一:环境说明 1.1 Linux系统CentOS 5.8 1.2 nodejs v0.10.15 1.3 nodejs源码下载地址 htt ...

  6. Node.js系列-express(上)

    前言 Node.js系列的第一篇:http,大概描述了通过使用node.js内置的api创建一个服务并监听request实现简单的增删改查.现在,我们就通过通读express官网及使用express框 ...

  7. Node.js系列文章:编写自己的命令行界面程序(CLI)

    CLI的全称是Command-line Interface(命令行界面),即在命令行接受用户的键盘输入并作出响应和执行的程序. 在Node.js中,全局安装的包一般都具有命令行界面的功能,例如我们用于 ...

  8. Node.js系列——(4)优势及场景

    背景 之前几篇系列文章简单介绍了node.js的安装配置及基本操作: Node.js系列--(1)安装配置与基本使用 Node.js系列--(2)发起get/post请求 Node.js系列--(3) ...

  9. Node.js的简介和安装

    一.Node.js的简介和安装 a)       什么是Node.js? Node.js是一个开发平台 让JavaScript运行在服务器端的开发平台 ---简单点说就是用JavaScript写服务器 ...

随机推荐

  1. 可在广域网部署运行的QQ高仿版 -- GG叽叽V2.4,增加远程协助、桌面共享功能(源码)

    QQ的远程协助.或者说桌面共享是一个非常实用的功能,所以,2.4版本的GG复制了它,而且,GG增强了桌面共享的功能,它可以允许指定要共享桌面的区域,这样,对方就只能看到指定区域的桌面,这对节省流量会非 ...

  2. Ubuntu Desktop基本办公环境搭建

    Ubuntu Desktop基本办公环境搭建 一如前面所强调的, linux系统是面向开发人员友好的,而对office办公人员并不友好 . 如果是重度的office办公需求人员,不建议使用linux ...

  3. Linux gzip、gunzip

    200 ? "200px" : this.width)!important;} --> 介绍 gzip是linux自带的压缩文件命令,它的压缩比大概能达到60%-70%,比z ...

  4. WPF路线图白皮书: 2015及未来

    介绍 当2006年微软首次推出Windows Presentation Foundation(WPF)时,它代表了应用程序的设计和开发又向前跨出了巨大的一步.它简化了GUI应用程序的开发,有助于UI和 ...

  5. jmap

    环境: 现有一个独立运行的系统S(有独立的jre,但是没jdk),现想通过jmap导出其内存堆栈信息.于是另外安装一个jdk.可是jdk的版本跟S系统的jre不能对应上.出了很多错误. 总是报错: C ...

  6. js常用函数

    日期时间函数(需要用变量调用): var c=new Date; c.getDate(); document.write(c) //获取当前时间 var c=new Date(); c.getTime ...

  7. Atitit  数据存储的分组聚合 groupby的实现attilax总结

    Atitit  数据存储的分组聚合 groupby的实现attilax总结 1. 聚合操作1 1.1. a.标量聚合 流聚合1 1.2. b.哈希聚合2 1.3. 所有的最优计划的选择都是基于现有统计 ...

  8. Atitit 图像处理 灰度图片 灰度化的原理与实现

    Atitit 图像处理 灰度图片 灰度化的原理与实现 24位彩色图与8位灰度图 首先要先介绍一下24位彩色图像,在一个24位彩色图像中,每个像素由三个字节表示,通常表示为RGB.通常,许多24位彩色图 ...

  9. javascript_core_09之继承、属性、对象

    1.OOP之修改继承: ①child._proto_=father:=>Object.setPrototypeOf(child,father):每次只能修改一个对象的父对象: ②构造函数.pro ...

  10. Microsoft Visual Studio正忙解决办法

    问题描述 前段时间用vs2015进行开发.出现如下问题,关闭vs进程重启vs还是无法解决. 如何解决 进入本地项目.vs文件夹 这个文件夹下有个.suo文件,删除该文件,用任务管理器杀掉vs的进程,重 ...