Node.js学习笔记

上一篇 / 下一篇  2019-02-23 23:07:59 / 个人分类:脚本学习

第一课
node.js是一个javascript的运行环境。它让JavaScript可以开发后端程序

node.js可以干什么?
1.各种类型的动态网站(商城、聊天室、直播、大量用户表单收集、微信公众平台……)
2.工具类应用
3.游戏开发领域
4.云计算平台
5.高性能I/O用于实时应用
......

node.js安装
查看node.js是否安装成功   node -v   node --version

开发工具:WebStorm
1.File>>Settings...>>Language & FrameWorks-Node.js and NPM
2.点击configure,配置node-xxx.tar.gz
3.Language & Framework-JavaScript-Libraries勾选Node.js

第二课
Node.js创建第一个应用
--node.js不仅仅实现一个应用,同时还实现了整个HTTP服务器
--node.js中有很多的功能,划分为了一个个module(模块)。Node.js中的很多功能都是通过模块实现
1.引入http模块
var http = require("http");
2.创建服务器
http.createServer(function(req,res){
//发送HTTP头部
//HTTP状态值:200:OK
//设置HTTP头部,状态码是200,文件类型是html,字符集是utf-8
res.writeHead(200,{"Content-Type":"text/html;charset=UTF-8"});
//发送响应数据 "Hello World"
res.write("Hello World");
//结束响应
res.end();
}).listen(8080);
//终端打印信息
console.log("Server running http://127.0.0.1:8080/");
3.使用node命令运行
node xxx.js

HTTP模块、URL模块
1.HTTP模块  如上所示
2.URL模块
//引入http模块
var http = require("http");
//引入url模块
var url = require("url");
var server = http.createServer(function(req,res){
    //获取get请求里的参数值
    //url:http://127.0.0.1:8080/login?name=test&pwd=123456
    var result = url.parse(req.url,true);
    console.log("name = "+result.query.name);
    console.log("pwd = "+result.query.pwd);
    res.writeHead(200,{"Content-type":"text/html;charset=utf-8"});
    res.write("Hello world");
    res.end;
});
server.listen(8080);
console.log("Server start http://127.0.0.1:8080");

Nodejs自启动工具 supervisor
supervisor会不停的watch应用下的所有文件,发现文件被修改,就重新载入程序文件并部署
cmd命令 npm install -g supervisor

第三课 
node中,模块分为三类:
1.核心模块:http、url、fs等,可以直接饮用
2.自定义模块:通过exports或module.exports暴露属性或方法
3.第三方模块

/**
* 自定义模块可以省略js后缀名
* 如果引用在当前目录找不到模块,会默认进入node_modules寻找
* 如果希望自动应用node_modules下的模块,可进入对应的目录下,通过 npm -init --yes初始化package.json文件
*/
--commonjs01.js文件:
var http = require("http");
var config = require("config");  //可以省略js后缀名
var tools = require("tools");
var app = http.createServer(function(req,res){
    res.writeHead(200,{"Content-type":"text/html;charset=utf-8"});
    res.write("hello world");
    console.log(config.str);
    console.log(tools.add(1,2));
    res.end();
});
app.listen(8080);
console.log("server start: http://127.0.0.1:8080");

--node_modules文件夹下config.js文件:
var str = "hello world";
exports.str = str;

--node_modules文件夹下tools.js文件:
var tools  = {
    add : function(x,y){
      return x+y;
    },
    sayHello : function(){
      return "Hello,node.js";
    }
}
module.exports = tools;

npm init 生成 package.json
npm init --yes //注意:需要进入这个目录运行这个命令

第四课
第三方模块,由包组成

npm命令
可以通过npmjs.com网站查找

操作:
1.在npmjs.com网站查找对应的包 以silly-datetime为例
2.安装包,进入对应的目录下  npm install silly-datetime
3.再次安装包,进入对应的目录下 npm install md5 -save   //自动更新dependencies字段值
4.将项目转移时,不转移node_modules里的内容(默认都是下载的包)
  转移后,进入转移后的目录,重新执行 npm install即可重新导入module

NPM:世界上最大的开放源代码的生态系统
场景:1.下载第三方包到本地使用
      2.下载并安装别人编写的命令行程序
  3.将自己编写的包或命令行程序上传到NPM服务器
命令:
1. npm -v    //查看npm版本
2. npm i[nstall] module_name  
   npm i[nstall] module_name -save 自动更新dependencies字段值
   npm i[nstall] module_name -save-dev 自动更新devDepencies字段值
3. npm uinstall module_name  //直接进入目录删除
4. npm list  //查看当前目录已安装的node包
5. npm info module_name  //查看模块的版本号,所有的版本,不是当前已安装的module_name的版本
6. npm install module_name@version  //安装指定版本的module
7. npm init 命令  加--yes参数,默认用当前目录名做json名

安装淘宝镜像
http://www.npmjs.org   npm包官网
http://npm.taobao.org/  淘宝npm镜像官网
npm install -g cnpm --registry=https://registry.npm.taobao.org

第五课


TAG:

 

评分:0

我来说两句

Open Toolbar