
- 最新版本
- 13.9.0
- 类 别
- 运行于服务端的JavaScript解释器
- 开发者
- Ryan Dahl
- 更新时间
- 2020-02-25
- 中文名
- node.js
- 外文名
- Node
- 发布时间
- 2009年5月
-
nodejs
2019-06-17 08:28:311.安装下载 https://nodejs.org/en/download/ https://www.runoob.com/nodejs/nodejs-install-setup.html ... npm是nodejs的包管理工具,类似于maven,每个模块都有自己的package.json文件,定义包的属性 ...1.安装下载 https://nodejs.org/en/download/ https://www.runoob.com/nodejs/nodejs-install-setup.html 2.nodejs介绍 nodejs是一个运行在服务端的JavaScript 3.npm介绍 npm是nodejs的包管理工具,类似于maven,每个模块都有自己的package.json文件,定义包的属性 4.nodejs REPL(交互式解释器) Read Evel Print Loop,使用下划线"_"可以获取上一次输出的值 eg: 10 + 10; console.log(_); 5.nodejs的核心思想就是异步编程,nodejs所有的API都支持回调,Nodejs异步编程就是依赖于回调函数实现的;回调函数在完成任务后会自动被调用 6.使用require指令来引入其他模块 eg: var http = require('http'); 7.nodejs同步阻塞代码 var fs = require('fs'); //FileSystem var data = fs.readFileSync('./input.txt'); console.log(data.toString()); console.log('process over ...'); 8.nodejs异步回调 var fs = requie('fs'); fs.readFile('./input.txt',function(err,data){ if(err){ console.log('error...'); } console.log(data.toString()); }); console.log('process is over ...'); 8.nodejs事件 类似于NIO或者观察者模式,一个主题subject循环监听事件,当触发事件后,subject将事件交给观察者observer来执行事件,Nodejs内置事件驱动模型,引入events模块即可;当使用EventEmitter.on绑定事件时,会触发newListenre事件,移除事件时触发removeListener事件; 9.在 Node 应用程序中,回调函数的第一个参数接收错误对象,最后一个参数封装异步函数的返回值。 通常使用if(err){...}判断是否出错,err为null或者undefined则没出错 10.error事件 EventEmitter默认定义了一个error事件,如果没有手动声明error事件处理器,它会将异常抛出到Nodejs应用进程中,导致整个程序崩溃;所以通常需要对error事件进行处理,类似于try catch; eg: eventEmitter.on('error',function(){ console.log('process is error'); }); 11.Buffer缓冲区 //创建缓冲区数据 const buf = Buffer.from('Hello world ...','utf-8'); //将数据写入缓冲区,指定256字节 var limit = Buffer.alloc(256); var len = limit.write('Hello world ...'); //返回值是写入的字节数 //读取缓冲区数据 console.log(buf.toString('utf-8'));
1.nodejs模块 一个nodejs文件就是一个模块,require引入文件,默认是.js文件 eg: var hello = require('./hello'); 代码 require('./hello') 引入了当前目录下的 hello.js 文件(./ 为当前目录,node.js 默认后缀为 js)。 2.Node.js 提供了 exports 和 require 两个对象,其中 exports 是模块公开的接口,require 用于从外部获取一个模块的接口,即所获取模块的 exports 对象。 eg: var hello = require('./hello.js'); hello.say(); //------------------------------------ exports.say = function(){ console.log('hello world...'); } 3.exports 和 module.exports 的使用 如果要对外暴露属性或方法,就用 exports 就行,要暴露对象(类似class,包含了很多属性和方法),就用 module.exports。 4.一个函数可以作为另一个函数的参数。我们可以先定义一个函数,然后传递,也可以在传递参数的地方直接定义函数。 5.require('../local'); //nodejs引入一个文件夹 默认会先去找package.json文件,再去在main;如果找不到就默认找index.js 6.nodejs全局对象global,相当于js中的window对象,在所有的nodejs象中,所有的全局变量(除了global对象本身)都是global对象的属性,global对象的作用就是作为其他变量的宿主 7."__filename"可以获得文件的全路径,相当于file.getAbsolutePath(); "__dirname":目录 8.使用 express.static 中间件来设置静态文件路径 app.use('/public',express.static('public'));//浏览器输入/public*可以直接访问public目录下资源
//引入node事件模块 var events = require('events'); //创建事件实例化对象 var eventEmitter = new events.EventEmitter(); //声明连接事件处理器 var connectionHandler = function(){ console.log('database is connected ...'); } //绑定事件 eventEmitter.on('connection',connectionHandler);//触发事件 eventEmitter.emit('connection');
node connection mysql
安装mysql模块 cnpm install mysql //引入mysql模块 var mysql = require('mysql'); //获取连接对象 var connection = mysql.createConnection({ host: '127.0.0.1', port: 2433, user: 'root', password: 'root', database: 'test' }); //建立连接 connection.connect(); var sql = 'select * from t_u_user'; //crud都用query connection.query(sql,function(error,results){ if(error){ throw error; } console.log(results); }); //释放资源 connection.end();
node demo
==>server.js var http =require('http'); var url =require('url'); function start(route){ function onRequest(request,response){ var pathname = url.parse(request.url).pathname; console.log('request context path :' + pathname); route(pathname); response.writeHead(200,{'Content-Type':'text/html'}); response.write('hello world...'); response.end(); } http.createServer(onRequest).listen(8888); } expores.start = start ; ==>router.js function route(pathname){ console.log(pathname); } exports.route = route; ==>index.js var server = require('./server.js'); var router = require('./router.js'); server.start(router.route);
node require加载顺序
当使用require('http')引入http模块时,即使当前目录下的确存在http.js/http.node ....文件,node也会优先从原生模块加载http模块
-
nodejs升级的两种方法
2018-03-26 15:41:13方法一: 用n升级nodejs # 全局安装n $ npm install -g n # 升级到最新稳定版 $ n stable # 升级到最新版 $ n lastest # 升级到定制版 $ n v7.10.0 # 切换使用版本 $ n 7.10.0 (ENTER) 删除制定...方法一: 用n升级nodejs
# 全局安装n $ npm install -g n # 升级到最新稳定版 $ n stable # 升级到最新版 $ n latest # 升级到定制版 $ n v7.10.0 # 切换使用版本 $ n 7.10.0 (ENTER)
删除制定版本
$ n rm 7.10.0
用制定的版本执行脚本
$ n use 7.10.0 some.js
方法二:用NVM来升级nodejs
github 下载nvm
配置项目到环境变量中$ source ~/.bashrc $ nvm --version # 升级到到定制版 $ nvm install 7.10.0 # 升级到最新版 $ nvm install lastest # 升级到稳定版 $ nvm install stable
注:nvm在使用的时候有坑,建议使用n来升级nodejs和控制版本.
欢迎关注我的公众号
-
Nodejs开发指南 nodejs入门经典 Nodejs in Action nodejs手册中文版
2014-12-24 23:56:444本书打包: Nodejs开发指南 nodejs入门经典 Nodejs in Action nodejs手册中文版 -
Nodejs极速入门
2017-08-24 11:56:40由King老师精心打造的Nodejs极速入门课程,从Nodejs介绍到环境下载安装,到Express框架的基础使用,用短的时间帮你入门Nodejs! 山哥出品,必属精品! -
NodeJS入门(一)---nodejs详细安装步骤
2018-05-29 11:37:21初学NodeJS,就是要弄清楚什么是nodejs,能做什么,怎么用。。什么是nodejs? 脚本语言需要一个解析器才能运行,JavaScript是脚本语言,在不同的位置有不一样的解析器,如写入html的js语言,浏览器是它的解析器角色。...初学NodeJS,就是要弄清楚什么是nodejs,能做什么,怎么用。。
什么是nodejs?
脚本语言需要一个解析器才能运行,JavaScript是脚本语言,在不同的位置有不一样的解析器,如写入html的js语言,浏览器是它的解析器角色。而对于需要独立运行的JS,nodejs就是一个解析器。
每一种解析器都是一个运行环境,不但允许js定义各种数据结构,进行各种计算,还允许js使用允许环境提供的内置对象和方法做一些事情。如运行在浏览器中的js的用途是操作DOM,浏览器就提供了document之类的内置对象。而运行在nodejs中的js的用途是操作磁盘文件或搭建http服务器,nodejs就相应提供了fs,http等内置对象。
能做什么?
NodeJS的作者说,他创造NodeJS的目的是为了实现高性能Web服务器,他首先看重的是事件机制和异步IO模型的优越性,而不是JS。但是他需要选择一种编程语言实现他的想法,这种编程语言不能自带IO功能,并且需要能良好支持事件机制。JS没有自带IO功能,天生就用于处理浏览器中的DOM事件,并且拥有一大群程序员,因此就成为了天然的选择。
如他所愿,NodeJS在服务端活跃起来,出现了大批基于NodeJS的Web服务。而另一方面,NodeJS让前端众如获神器,终于可以让自己的能力覆盖范围跳出浏览器窗口,更大批的前端工具如雨后春笋。
因此,对于前端而言,虽然不是人人都要拿NodeJS写一个服务器程序,但简单可至使用命令交互模式调试JS代码片段,复杂可至编写工具提升工作效率。
如何安装(因为是菜鸟,只有一步一步来)
Node.js安装及详细步骤
Node.js官方安装包及源码下载地址:https://nodejs.org/en/
安装环境:Windows7 x64
步骤1:下载安装“node-v8.11.2-x64.msi”
步骤2:点击Next、显示Node.js的许可协议页面:
步骤3:勾选“I accept the terms in the License Agreement”同意许可协议,并单击Next下一步,出现如下界面:
步骤4:Node.js默认安装路径为“C:\Program Files\nodejs\”,你可以修改,在这里我改到了D盘,单击Next,出现安装模式及模块选择界面:
步骤5:这里我直接(点击Add to PATH)Next下一步,准备就绪,准备安装:
步骤6:确认无误后,点击Install,开始安装:
步骤7:半分钟后,安装完成,点击Finish即可:
步骤8:配置环境变量: 默认,Node.js安装完毕,会自动在系统的path环境变量中配置了node.exe的目录路径;但是可能你安装完成后,dos命令下输入node提示错误(需配置环境)。
打开系统环境变量,发现确实已经配置了,但是dos下运行“set path”又看不到nodejs的配置,那就是人品的问题了。重启电脑重新加载就可以了。也可以删掉自动配置的,手动再加上即可。如:打开计算机属性-高级系统设置-环境变量,在系统变量列表中找到path变量:
步骤9:检测是否安装成功:
点击开始-运行-cmd(win+R),打开dos,输入“node --version”检查Node.js版本:
Npm安装相关环境
1、 首先测试npm是否安装成功。由于新版的nodejs已经集成了npm,所以之前npm也一并安装好了。同样可以使用cmd命令行输入“npm -v”来测试是否安装成功。上图已测
2、 安装相关环境
npm install express -g
npm install jade -g
npm install mysql -g
默认情况下上述组件都是安装在D:\dev\nodejs\node_modules文件夹下(依赖包),这也是nodejs相关组件的自动查找路径。
2.1安装Express
Express 是nodejs常用的一个框架‘npm install express -g’中-g表示安装到NODE_PATH的lib里面
Ps:安装express后,创建新项目有时会遇见不正常的情况,提示会“express不是内部或外部命令”,原因:express4.x版本中将命令工具分出来了,需要再安装一个命令工具,执行命令“npm install -g express-generator”完成后再测试就可以了。
https://www.expressjs.com.cn/starter/generator.html
在项目中引用express包
用express创建项目
在命令行中输入【express项目名称】,就可以在当前文件夹下创建一个新的项目
用此方法,只是创建了一个空的项目框架,和一个简单的实例程序,运行app.js可以查看(还需要在项目文件目录下,安装jade包,方法类似安装express)
在项目中引用express包
用express创建项目
在命令行中输入【express 项目名称】,就可以在当前文件夹下创建一个新的项目
用此方法,只是创建了一个空的项目框架,和一个简单的实例程序,运行app.js可以查看(还需要在项目文件目录下,安装jade包,方法类似安装express)
用此方法,只是创建了一个空的项目框架,和一个简单的实例程序,运行app.js可以查看(还需要在项目文件目录下,安装jade包,方法类似安装express)
如有不足请多多指教!希望给您带来帮助!参考文献:https://blog.csdn.net/u010255310/article/details/52205132 -
WebStorm 配置NodeJS
2017-05-09 16:59:56NodeJS1.Windows下安装配置NodeJS
1.1 下载NodeJS:https://nodejs.org/dist/v6.10.3/node-v6.10.3-x64.msi
1.2 安装NodeJS:傻瓜式安装,默认安装在c:\Program Files\nodejs目录下
1.3 配置NodeJS:将NodeJS安装目录配置到环境变量中。
2.WebStorm配置NodeJS
2.1 启动WebStorm–>File–>Settings搜索Node.js
2.2 选择node安装目录即可配置成功3.WebStorm配置NodeJS错误信息
3.1 Unknown NodeJS Version
Windows下权限问题,可以用Admin打开WebStorm就解决此问题。 -
NodeJs JsonWebToken
2016-11-07 16:27:08nodejs中生成/校验token -
NodeJs教程含NodeJS API介绍(中文版)
2012-09-29 15:27:45本资源包含两个PDF文件,其中一个为NodeJS部署教程,包括如何部署至windows及linux环境中,其二为nodeJS API 的介绍及使用例子,均适合NodeJS入门级别的开发者使用 -
nodejs 配置
2018-03-24 08:36:251.要在你需要存放模块的文件夹里建两个文件夹我是在node目录下建了两个文件夹分别叫node_global和node_cache。...prefix=D:\install_softwares\nodejs\node_global cache=D:\install_softwares\nodejs\node_cache 3... -
Nodejs nodejs安装与VScode配置
2020-03-10 14:47:59友情链接: node.js和vscode的安装 ...由于安装时一不小心忘记截图,所以在此引用这位...一、Nodejs的安装 1、下载的Node.js网址:https://nodejs.org/en/download/ 2、选安装目录进行安装(这里可以自定义安装位置)... -
NodeJS - nodejs addon用法
2017-07-07 11:00:42Nodejs addon V8 -
nodejs优势
2018-11-08 20:12:06nodejs优势 nodejs具有一定的时代性。 nodejs使用js语法容易实现全栈 nodejs通过npm管理,具有完善的生态 nodejs最大的特点是非阻塞I/O -
nodejs 入门
2020-07-10 10:55:19Nodejs 入门 什么是Nodejs javascript 的运行时,环境,后端环境 引擎:V8 引擎 引擎 + 内置模块 fs 文件系统模块 操作文件 fs.readFile() //读取文件 fs.writeFile() //写文件 path 路径模块 path.join() 拼接路径... -
ubuntu安装nodejs
2017-06-12 19:16:40在nodejs官方网站download页面中选择需要使用的版本,可以选择LTS或current,选择对应系统右键复制链接地址 如果需要下载历史版本可以选择download页面底部PreviousReleases,也可以直接访问... -
nodejs安装 nodejs.安装
2015-04-15 10:24:13nodejs安装 nodejs.安装 -
在官网下载nodejs和git速度慢的解决方案
2019-09-07 22:33:27笔者今天刚换了个电脑,在安装nodejs的时候速度慢到飞起?以前是直接让同事发个包就安装了,没想到自己在官网安装这么慢,半个小时还没安完一半。 后来在这里下载几秒钟结束战斗:http://nodejs.cn/download/ 虽然... -
利用nodejs对本地json文件进行增删改查
2018-04-11 11:47:41nodejs的文件系统,接触过node的对node的文件系统肯定不会陌生,这两天我就在思考一个问题,我是否可以在本地操作我的本地json文件,这样一个本地的文本数据库就有了,如果是便签之类,记录的软件,我完全可以不用连... -
安装nodejs
2019-08-13 11:27:27打开安装程序 1 下一步 2 下一步 3 下一步 4下一步 ...8 node –v如果打印nodejs信息,则说明nodejs安装成功 9 输入npm install安装npm,nodejs默认集成npm 10 以上步骤不出问题,则安装完成 ... -
Windows安装NodeJS
2019-01-08 19:47:15Windows安装NodeJS 一、下载安装包 访问地址: https://nodejs.org/en/download/ 选择LTS版本,选择偶数的NodeJS版本,例如:8、10,因为偶数是长期稳定版本,有较好的兼容性。NodeJS迭代版本太快了,选择偶数版本... -
Nodejs教程01:Nodejs简介
2019-01-28 23:30:56Nodejs简介 简单的说 Node.js 就是运行在服务端的 JavaScript。 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。 Nodejs的应用... -
完全卸载 Nodejs
2020-10-19 10:39:54完全卸载 Nodejs起因如何完全卸载 起因 公司电脑由于加了固态硬盘,然后要把 C 盘移到固态上,导致 Nodejs 无法使用,因为路径变化,因此想完全删除重装,结果卸载找不到,直接重新安装也说已经安装。。。 如何完全... -
从零开始nodejs系列文章-nodejs到底能干什么
2018-08-24 18:16:22从零开始nodejs系列文章, 将介绍如何利Javascript做为服务端脚本,通过Nodejs框架web开发。Nodejs框架是基于V8的引擎,是目前速度最快的 Javascript引擎。chrome浏览器就基于V8,同时打开20-30个网页都很流畅。... -
nodejs作用
2019-04-26 16:58:37Nodejs框架是基于V8的引擎,是目前速度最快的 Javascript引擎。chrome浏览器就基于V8,同时打开20-30个网页都很流畅。Nodejs标准的web开发框架Express,可以帮 助我们迅速建立web站点,比起PHP的开发效率更高,而且... -
多个nodejs下指定nodejs版本运行项目,指定nodejs版本运行项目
2019-08-14 16:21:23很早之前nodejs就出来了,大家在运行项目的时候都是一个nodejs走天下。服务器上面也是一个nodejs环境。但是大家都应该知道,如果电脑上面已经存在nodejs了那么就不能装第二个了。那么我的项目和别人的项目环境不一样... -
nodejs教程
2016-06-29 12:12:00http://www.yiibai.com/nodejs/ http://www.runoob.com/nodejs/nodejs-tutorial.html http://www.runoob.com/nodejs/nodejs-http-server.html http://www.runoob.com/nodejs/nodejs-install-setup.html ... -
nodejs面试题
2019-06-21 10:39:301、为什么用Nodejs,它有哪些缺点? 事件驱动,通过闭包很容易实现客户端的生命活期。 不用担心多线程,锁,并行计算的问题 V8引擎速度非常快 对于游戏来说,写一遍游戏逻辑代码,前端后端通用 当然Nodejs也有... -
nodejs安装
2016-12-20 09:06:30nodejs官网 1. 安装nodejs 下载nodejs.msi,验证nodejs是否安装成功: node -v2. npm包管理工具 切换国内npm镜像 npm install -g cnpm --registry=https://registry.npm.taobao.org -
CentOS安装NodeJS
2017-12-28 13:15:15如何在CentOS上安装NodeJS -
Nodejs动态加载路由,Nodejs遍历目录,Nodejs路由工具
2016-05-30 11:00:32Nodejs需要手动加载路由文件,如果一个个添加,项目逐渐扩大,比较麻烦。 尤其在项目route目录下,增加模块文件夹的时候,引入路由更是麻烦。 因此写了一个Nodejs动态加载路由,Nodejs遍历目录,Nodejs路由工具,...
-
jsp开发教程.zip
-
三年级数学周末计算练习六.doc
-
国家注册渗透测试工程师(Web安全)
-
算法:前缀和(可能应用于各种题型)
-
三年级数学周末练习题.docx
-
Android小技巧:跟Android初学者分享几点经验,成功定级腾讯T3-2
-
大学 毕业设计 项目实训 android安卓手机点菜app 源代码.zip
-
win10+annconda+Pytorch
-
android培训那里好!分享Android资深架构师的成长之路,挥泪整理面经
-
实现tab切换
-
rsa__coder.py
-
彻底学会Python装饰器
-
(新)备战2021软考系统集成顺利通关套餐
-
总结的面经总结的面经总结的面经总结的面经.md
-
前端实战案例之石头剪刀布游戏(零基础入门)
-
事务注解@transactional和异步调用注解@Async失效了——AOP原理解析
-
rc4加解密脚本。。
-
hadoop自动化运维工具Ambari应用实践
-
合天网安学院渗透测试文章精选.pdf
-
最新人教版五年级下册语文第八单元基础过关知识整理.doc