nodejs(1)
2016-06-05 15:06
441 查看
node.js 是一个让javascript运行在服务端的开发平台
node.js的环境部署
1.下载安装包
https://nodejs.org/en/
安装后 打开cmd的dos窗口
运行node
console.log('success')
编写一个demo.js并保存到nodejs的安装目录里
consloe.log('学习nodejs')
在dos里运行demo.js 可以看到输出的学习nodejs
node.js命令行工具
node -v 查看版本
node -e ‘console.log("hello word")’; 直接运行
node 直接进入编译模式
console.log('1111')
第一行是输入、第二行是返回值
建立HTTP服务器
保存为demo2.js并用cmd来运行
在浏览器中输入:localhost:2000
回调函数
1.异步式读取文件
在nodejs目录里编写一个file.js
在nodejs目录里创建一个file.txt文件并写入hi,i'm a file.txt
打开cmd 执行file.js
同步式读取文件
显示如下
事件
1.普通事件的对象 (在nodejs目录里创建一个event.js)
显示结果如下:
node.js的事件循环机制
node.js程序是由事件循环开始,到事件循环结束,所有的逻辑都是事件的回调函数。
如何使用自定义事件呢
事件的回调函数在执行的过程中,可能会发出IO请求或直接发射(emit)事件,这I型完毕后再返回事件循环。
node.js中的模块和包的应用:
1.在nodejs安装目录中创建一个模块 model.js
2.在nodejs安装目录中创建一个模块 getModel.js
node.js中require不能重复加载模块 只能包含一次
我们把一个对象封装到模块中引入模块 来实现多次调用
例:在node的安装目录中创建一个Sing.js
在node的安装目录中创建一个getSing.js
包的创建
创建一个package包
1. package.json必须在包的顶层目录下
package.json里面代码
2.创建bin文件夹 里面放二进制文件
3.创建doc文件夹 里面放文档
4.创建test文件夹 里面放测试的
5.创建lib文件夹 放一个index.js
index.js里面代码:
具体package文件夹下的所有文件
在node安装目录里创建一个getPackage.js
getPackage.js里面的代码:
在cmd下测试如下:
node.js在调用某个包的时候。会检查包中的package.json文件中的main字段,将其作为包的 接口模块,如果package.json或main字段不存在,会尝试寻找index.js或index.code作为包的接口。
package.json的规范属性
如何用包管理器
1.获取一个包
npm [install/i] [package_name]
例如:安装express包
npm i express
卸载包
npm uninstall 报名 【-g】
查看当前报名
npm list
帮助链接:http://www.cnblogs.com/bluefrog/archive/2012/08/14/2639085.html
2.本地模式和全局模式
npm在默认情况下会从http://npmjs.org搜索或下载包 将包安装到npm_modules
a.默认是npm install包名 作为本地模式
b.全局模式
npm install -g 包名
用cmd创建包里里面的package.json
安装包
查看
测试
node.js的环境部署
1.下载安装包
https://nodejs.org/en/
安装后 打开cmd的dos窗口
运行node
console.log('success')
编写一个demo.js并保存到nodejs的安装目录里
consloe.log('学习nodejs')
在dos里运行demo.js 可以看到输出的学习nodejs
node.js命令行工具
node -v 查看版本
node -e ‘console.log("hello word")’; 直接运行
node 直接进入编译模式
console.log('1111')
第一行是输入、第二行是返回值
建立HTTP服务器
var http = require('http'); http.createServer(function(req,res){ res.writeHead(200,{'Content-Type':'text/html'}); res.write('<h1>nodejs</h1>'); res.end('<p>视频PCAT</p>'); }).listen(2000);
保存为demo2.js并用cmd来运行
在浏览器中输入:localhost:2000
回调函数
1.异步式读取文件
var fs = require('fs'); fs.readFile('file.txt','utf-8',function(err,data){ if(err){ console.log(err); }else{ console.log(data) } }); console.log('end.'); 结果: end. Contents of the file.
在nodejs目录里编写一个file.js
var fs = require('fs'); fs.readFile('file.txt','utf-8',function(err,data){ if(err){ console.log(err); }else{ console.log(data) } }); console.log('end.');
在nodejs目录里创建一个file.txt文件并写入hi,i'm a file.txt
打开cmd 执行file.js
同步式读取文件
var fs = require('fs'); var data=fs.readFileSync('file.txt','utf-8'); console.log(data); console.log('end.');
显示如下
事件
1.普通事件的对象 (在nodejs目录里创建一个event.js)
//声明事件对象 var EventEmitter = require('events').EventEmitter; var event = new EventEmitter(); //注册事件 event.on('some_event',function(){ console.log('这是一个自定义的事件'); }) //在1s时间之后触发事件 setInterval(function(){ event.emit('some_event'); },1000);
显示结果如下:
node.js的事件循环机制
node.js程序是由事件循环开始,到事件循环结束,所有的逻辑都是事件的回调函数。
如何使用自定义事件呢
事件的回调函数在执行的过程中,可能会发出IO请求或直接发射(emit)事件,这I型完毕后再返回事件循环。
node.js中的模块和包的应用:
1.在nodejs安装目录中创建一个模块 model.js
var name; exports.setName=function(theName){ name = theName; } exports.sayHello=function(){ console.log('hello'+name); }
2.在nodejs安装目录中创建一个模块 getModel.js
var myModel = require('./model'); myModel.setName('hehe'); myModel.sayHello();
node.js中require不能重复加载模块 只能包含一次
我们把一个对象封装到模块中引入模块 来实现多次调用
例:在node的安装目录中创建一个Sing.js
function hello(){ var name; this.setName = function(theName){ name = theName; } this.sayHello = function(){ console.log('hello'+name); } } module.exports=hello;
在node的安装目录中创建一个getSing.js
var hello = require('./Sing'); var he = new hello(); he.setName('hhehe'); he.sayHello(); var he1 = new hello(); he1.setName('aaaa'); he1.sayHello();
包的创建
创建一个package包
1. package.json必须在包的顶层目录下
package.json里面代码
{ "main" : "./lib/index.js" }
2.创建bin文件夹 里面放二进制文件
3.创建doc文件夹 里面放文档
4.创建test文件夹 里面放测试的
5.创建lib文件夹 放一个index.js
index.js里面代码:
exports.sayHello = function(){ console.log('this is a easy package'); }
具体package文件夹下的所有文件
在node安装目录里创建一个getPackage.js
getPackage.js里面的代码:
var pac = require('./package'); pac.sayHello();
在cmd下测试如下:
node.js在调用某个包的时候。会检查包中的package.json文件中的main字段,将其作为包的 接口模块,如果package.json或main字段不存在,会尝试寻找index.js或index.code作为包的接口。
package.json的规范属性
如何用包管理器
1.获取一个包
npm [install/i] [package_name]
例如:安装express包
npm i express
卸载包
npm uninstall 报名 【-g】
查看当前报名
npm list
帮助链接:http://www.cnblogs.com/bluefrog/archive/2012/08/14/2639085.html
2.本地模式和全局模式
npm在默认情况下会从http://npmjs.org搜索或下载包 将包安装到npm_modules
a.默认是npm install包名 作为本地模式
b.全局模式
npm install -g 包名
用cmd创建包里里面的package.json
安装包
查看
测试
相关文章推荐
- Angular + Node 生成 随机数
- Node.js之Express二
- node中的Stream-Readable和Writeable解读
- Node.js Hello
- Node.js
- LeetCode--No.24--Swap Nodes In Pairs
- [LeetCode]problem 116. Populating Next Right Pointers in Each Node
- windows平台上搭建node.js开发环境
- 237. Delete Node in a Linked Lis
- 文件系统(ext2) inode、block、superblock概念整理
- leetcode-Swap Nodes in Pairs-24
- 给裸接口加一道防护,避免恶意盗刷和爬取
- LeetCode Swap Nodes in Pairs
- leetcode 24. Swap Nodes in Pairs
- LeetCode Remove Nth Node From End of List
- Hello Node.js
- LeetCode第25题之Reverse Nodes in k-Group
- hadoop1.x NameNode 和SecondNameNode工作原理
- 利用tikz画图时调整node内部文字行距的方法
- Node.js环境搭建和学习(windwos环境)