Node.js(一)——NodeJs基础

一、概念

node.js采用Google Chrome浏览器规范引擎 由C++语言编写的。本质上是一个JavaScript的运行环境

nodejs 不仅仅能解析js代码而且没有浏览器端各种安全的级别限制

还提供一些系统级别的API,比如:

1.文件的读写

2.进程的管理

3.网络的通信

09年面世以来一直很火


其次它很强,借助于NodeJs所能完成的事情,当然不仅仅与此

Node-Webkit appjs 相似的应用:允许开发者使用web技术,也就是html/css/js来开发跨平台的、桌面的应用程序;都能兼容Mac,Linux,Windows

Jade:和NodeJs组合使用,可以高效的开发和管理后台html的模板

Ghost:是一个强大的而且用户体验超好的开源博客程序

Grunt:是一款JavaScript跑各种任务的运行工具,通过集成各种插件来完成比如说:样式编译、语法检测、脚本压缩合并、自动化测试、Shell脚本运行

文档生成或者是图片处理等各种任务,本本上使用的也是NodeJs中的模块

Nodecast:先是在pc上运行,然后启动移动设备,选择一个支持Chrome cast的应用程序,然后就可以把移动上的内容映射到电脑上,等于是把电脑当作一个流媒体来使用

Log.io:在浏览器里面可以实施监控项目日志

PDFKit:生成pdf文档

Haroopad:是Linux上的markdown编辑器

NoduinoWeb:硬件黑客希望通过Noduino Web页面来控制开源硬件,从而将软件和硬件很好的结合起来

NodeOS:基于NodeJs开发的友好的操作系统

其他语言能做的事情NodeJs都可以做 甚至能做的更好

推荐学习nodeJs的网站
1、nodejs.org  nodeJS的官网,常上去逛一逛,关注一下nodeJS更新,bug的修复。
2、npmjs.com 模块的社区,上面有很多大神写的代码,可以看一看同样的功能大神是怎么学的。
3、github --应该懂得,这个不多说了。
4、stackoverflow.com技术解答社区。

对于NodeJs的版本问题

偶数位为稳定版本   基数为非稳定版本

二、Windows下安装NodeJs

首先下载一个工具git bash 可以执行git命令,使用体验较好,比较适用于NodeJs的初学者

按照过程不做详细解答,根据自己需求自行配置

其次在NodeJs官网根据需要选择合适的版本进行下载

最后进行安装成功的检查以及Path的检查

Linux、Mac系统下不做详述

三、Hello World

使用NodeJs开发Web应用非常简单,甚至都不用配置一堆文件来启动web服务器

从官网找到一段实例代码来进行Hello World!

代码简单解读:

创建了web服务器,仅需要传入一个匿名的回调函数

服务器创建成功以后 代码并没有被阻塞到那里

而是接着往下执行

这就是事件驱动的编程风格 NodeJs中会采用大量这种方式

const http = require(‘http‘);
const hostname = ‘127.0.0.1‘;
const port = 3000;
const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader(‘Content-Type‘, ‘text/plain‘);
  res.end(‘Hello World\n‘);
});
server.listen(port, hostname, () => {
console.log(`服务器运行在 http://${hostname}:${port}/`);});

之后启动node服务,如下所示:

进入目录
cd E:\\code\\jquery\\nodeJs\\js
启动服务
node server.js

然后运行: http://127.0.0.1:3000/

会出现我们的Hello world!

代码解读:

require(‘http‘)由JavaScript模块来编写,只不过它的职责是创建web服务器及处理http相关的任务等等

通过createServer来创建一个web服务器,然后通过listen让服务器在3000端口监听请求,就可以收到任何来自于该端口的请求请求进来时该告诉它做什么,So有个匿名的回调函数

在什么时候调用?在监听到3000端口有内容进来时。有2个参数,请求体req、响应体res

git bash常用命令

NodeJs本质上是一个JavaScript执行环境只是由于它的封装加上web底层的处理赋予它更多的能力

执行环境到底是什么呢?

在浏览器中体验js环境,本次选择Chrome

而在node环境下,同样可以这么写

可以发现,对于普通的JavaScript执行,方法、变量这两者并没有什么差异

但是它们所在的环境顶层,也就是全局变量不太一样 都有自己特殊的地方

JavaScript:window、document

NodeJs:process

这就是两者之间的执行环境的不同之处

时间: 2024-11-08 22:00:06

Node.js(一)——NodeJs基础的相关文章

最新短视频网站实战教程 node.js+ES+Koa2基础到精通项目实战课程

下载地址:百度网盘下载 node.js+ES+Koa2项目实战课,课程目录很多,只展示了主要章节课程目录第1章 2018 年的编程姿势1-0 课前必看.mp41-1 koa2导学.mp41-2 安装跟进最新 node.js 版本.mp41-3 毫不犹豫的使用promise.mp41-4 使用babel 编译es7 async function.mp4 第2章 必会 ES6-7 语法特性与规范2-0 课前必读.mp42-1 生成器函数.mp42-2 co 库执行 promise 和 generat

实战 node.js+ES+Koa2基础到精通项目

node.js+ES+Koa2项目实战课,课程目录很多,只展示了主要章节课程目录第1章 2018 年的编程姿势1-0 课前必看.mp41-1 koa2导学.mp41-2 安装跟进最新 node.js 版本.mp41-3 毫不犹豫的使用promise.mp41-4 使用babel 编译es7 async function.mp4第2章 必会 ES6-7 语法特性与规范2-0 课前必读.mp42-1 生成器函数.mp42-2 co 库执行 promise 和 generator function.m

借助node.js + mysql 学习基础ajax~

很多小白不知道ajax怎么学,所以就弄了个node后台模拟下基本的ajax请求. 环境要求是安装node~ 先上linkMysql.js var mysql = require('mysql') var connection = mysql.createConnection({ host: 'localhost', user: 'root', password: '', //自己数据库的密码 database: ''//自己数据库的名称 }) function LinkMysql(tableNa

Node.js(十)——NodeJs事件

NodeJs的事件模块 在爬虫代码中有个on('data')事件,为什么响应的res回有一个on方法呢,那这个on做什么事情呢,要回答这些问题,要从事件模块说起,在NodeJs中不存在浏览器中的冒泡.捕获这些行为的,所以NodeJs中实现的events这个模块,里面的大多数模块都集成了这个模块, 所以events是最重要的一个模块,它只对外暴露了一个对象,就是eventImit,作用有两个分别是事件的发射,和事件的监听,两个不同的执行环节本来是毫无联系的,但是有了事件模块的支持以后,这两个环节就

Node.js开发 ---- nodejs操作mysql

app.js[html] view plain copy//初始化包 var express = require('express'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parse

深入浅出Node.js(一):什么是Node.js

Node.js从2009年诞生至今,已经发展了两年有余,其成长的速度有目共睹.从在github的访问量超过Rails,到去年底Node.jsS创始人Ryan Dalh加盟Joyent获得企业资助,再到今年发布Windows移植版本,Node.js的前景获得了技术社区的肯定.InfoQ一直在关注Node.js的发展,在今年的两次Qcon大会(北京站和杭州站)都有专门的讲座.为了更好地促进Node.js在国内的技术推广,我们决定开设“深入浅出Node.js”专栏,邀请来自Node.js领域的布道师.

node.js从入门到菜鸟——资源无法载入?你需要学会地址解析

node.js是什么似乎已经不需要我多为赘述了,非阻塞的服务器语言.JS书写的后台代码,无数的文章已经很好的展示了node的魅力与展望.关于node.js的安装,大家不妨参考博客园聂微东的http://www.cnblogs.com/Darren_code/archive/2011/10/31/nodejs.html (node.js初体验),这篇文章很好的综述了node.js的一个基础(从安装到体验到模块的一个入门,个人感觉是一篇很好的文章),相信通过东哥的这篇文章大家可以对node有一个初步

NodeJS基础教程

关于 本书致力于教会你如何用Node.js来开发应用,过程中会传授你所有所需的“高级”JavaScript知识.本书绝不是一本“Hello World”的教程. 状态 你正在阅读的已经是本书的最终版.因此,只有当进行错误更正以及针对新版本Node.js的改动进行对应的修正时,才会进行更新. 本书中的代码案例都在Node.js 0.6.11版本中测试过,可以正确工作. 读者对象 本书最适合与我有相似技术背景的读者: 至少对一门诸如Ruby.Python.PHP或者Java这样面向对象的语言有一定的

Hello Node.js之搭建一个web服务器

Node.js简述 Nodejs 是JavaScript运行时,解释器是C/C++写的,基于ChromeV8引擎, 事件驱动,非阻塞I/O模型.本系列目前参考了Node.js官网,慕课网Scott的Node.js基础,<Node即学即用>图灵系列,以及可能的网上公开资源. Nodejs包管理器是npm 包就是别人写好的库. Nodejs提供了fs,http等内置对象,操作磁盘文件.搭建服务器. 特征:单线程.事件驱动.异步非阻塞I/O模型. Node.js安装 官网安装Node.js,自带np