nodejs 环境变量的配置

  1.在 安装文件下创建两个文件夹  node_global   和  node_cache

  2. 执行下面命令

  npm config set prefix "D:\soft\install\nodejs\node_global"

  npm config set cache "D:\soft\install\nodejs\node_cache"

  3. 添加系统变量:D:\soft\install\nodejs\node_global\node_modules

  nodejs 就是使用js来编写服务端的程序.它的特性是(单线程   速度快   耗内存多  异步   事件驱动)

  (

  一些技术的解决方案:默认情况下是

  1.不支持多核,可以使用cluster 进行解决

  2.默认不支持服务器集群,可以使用node-http-proxy可以解决

  3.可以使用nginx进行负载均衡,nginx负责静态,动态有node.js负责

  4.forever或者node-cluster 实现灾难恢复

  )

  对框架的选择:使用express框架   超前框架使用es6语法koa   sails框架

  笔记

  例子:

  

var http = require('http');

http.createServer(function(request,response){
response.writeHead(200,{'content-Type':'text/html;charset=utf-8'});
if(request.url !=="/favicon.ico"){//清除第二次访问
console.log("访问");
response.write("hello world");
response.end("访问结束"); //http 响应的结束,如果不写,则浏览器一直在转,但是会产生两次访问
}
}).listen(5555);

  

  1.可以使用require进行模块的导入

  2.方法默认导出使用,module.exports = fun2   进行方法的导出,这种只支持导出一个

  3.支持多个输出,使用匿名函数.

  module.exports{

    fun2:function(){

    },

    fun3:function(){

    }

  }

  4.使用字符串调用方法(otherfun.fun2()相当于otherfun['fun2']()); //这样能够灵活使用方法的调用
  5.创建一个模块
  function User(){
    this.id;
    this.name;
    this.enter = function(){
    console.log("都能够进入大厅")
    }
  }
  6.导入后,可以使用上面, user = new User();
  7.继承的使用
    var User = require(./User);
    function Teacher(id,name){
      User.applay(this,[id,name])
    } 
  8.路由require("url");属于自带的(var pathname = url.parse(request.url).pathname 可得到路由的名称,根为/,去除了端口前缀
   替换前面的/,pathname = pathname.replace('/\//','');这时候,就可以和4进行结合使用了
  
  )
  9.文件的读取
  var fs = require('fs');
  module.exports = {
    readFileSync:function(path){//同步读取数据
      var data = fs.readFileSync(path,'utf-8');
      console.log(data);
    },
    readFile:function(path){ //异步执行
      fs.readFile(path,function(err,data){
        if(err){
          console.log(err)
        }else{
          console.log(data.toString());
        }
      })
    }
  }
  为了避免异步请求出现的差错(因为程序没有执行完,但是已经结束的问题),一般使用闭包的形式,一般传入的为函数 
  recall fucntion(data){
    response.write(data);
    response.end("");
  }
  readFile:function(path,recall){ //异步执行
      fs.readFile(path,function(err,data){
        if(err){
          console.log(err)
        }else{
          console.log(data.toString());
          recall(data)
        }
      })
    }
  10.文件的写入
  writeFileSync:function(path,data){//同步数据
      var data = fs.writeFileSync(path,data);
      console.log("同步文件成功");
    },
    writeFile:function(path,data,recall){ //异步执行
      fs.writeFile(path,data,function(err){
        if(err){
          throw err;
        }
        console.log("保存成功")
        recall("保存成功")
      })
    }
  11.对图片的进行操作
  图片使用二进制流的方式进行.需要设置成response.writeHead(200,{"Content-Type":"image/jpeg"});
  图片的读取
  readImge:function(path,response){ //异步执行
      fs.readFile(path,'binary',function(err,filedata){//携带一个binary,表示二进制文件
        if(err){
          console.log(err)
        }else{
          resonse.write(filedata,'binary')
          console.log(data.toString());
        }
      })
    }
   

  

  

  

nodejs的学习的更多相关文章

  1. # nodejs模块学习: express 解析

    # nodejs模块学习: express 解析 nodejs 发展很快,从 npm 上面的包托管数量就可以看出来.不过从另一方面来看,也是反映了 nodejs 的基础不稳固,需要开发者创造大量的轮子 ...

  2. nodejs模块学习: webpack

    nodejs模块学习: webpack nodejs 发展很快,从 npm 上面的包托管数量就可以看出来.不过从另一方面来看,也是反映了 nodejs 的基础不稳固,需要开发者创造大量的轮子来解决现实 ...

  3. NodeJs入门学习(一)

    NodeJs是针对前端工程师向web后端深入理解的一门很好的语言. 首先,记录NodeJS几大特性,后续补充: 一.Node.js 是单进程单线程应用程序,但是通过事件和回调支持并发,所以性能非常高. ...

  4. NodeJs开发学习目录

    1.Nodejs基本概念及Nodejs.npm安装测试[2014-06-06] 2.开发工具简介(主要介绍Sublime Text使用) [2014-06-06] 3.Sublime text插件安装 ...

  5. nodejs模块学习: connect解析

    nodejs模块学习: connect解析 nodejs 发展很快,从 npm 上面的包托管数量就可以看出来.不过从另一方面来看,也是反映了 nodejs 的基础不稳固,需要开发者创造大量的轮子来解决 ...

  6. nodejs模块学习: connect2解析

    nodejs模块学习: connect2 解析 nodejs 发展很快,从 npm 上面的包托管数量就可以看出来.不过从另一方面来看,也是反映了 nodejs 的基础不稳固,需要开发者创造大量的轮子来 ...

  7. nodejs模块学习: express-session 解析

    nodejs模块学习: express-session 解析 nodejs 发展很快,从 npm 上面的包托管数量就可以看出来.不过从另一方面来看,也是反映了 nodejs 的基础不稳固,需要开发者创 ...

  8. nodejs基础学习1

    ES6常用新语法 ES6新语法 什么是ES6? 由于JavaScript是上个世纪90年代,由Brendan Eich在用了10天左右的时间发明的:虽然语言的设计者很牛逼,但是也扛不住"时间 ...

  9. NodeJS入门学习

    node.js 概念:是一个由c++编写的,本质上是一个javascript的运行环境,他可以让js代码运行在服务器端. node可以解析JS代码(没有浏览器安全级的限制) 提供系统级别的API: 1 ...

  10. nodejs入门学习笔记一——一个完整的http路由服务实现

    开始学习nodejs! 参考书籍:The Node Beginner Book ,所有问题和讨论都围绕本书. 1.学习nodejs需要具备的基础知识: js基本语法,基本上写过前端的都能满足,原生js ...

随机推荐

  1. YTU 1005: 渊子赛马

    1005: 渊子赛马 时间限制: 1000 Sec  内存限制: 64 MB 提交: 338  解决: 49 题目描述 赛马是一古老的游戏,早在公元前四世纪的中国,处在诸侯割据的状态,历史上称为&qu ...

  2. YTU 1004: 1、2、3、4、5...

    1004: 1.2.3.4.5... 时间限制: 1000 Sec  内存限制: 64 MB 提交: 1275  解决: 343 题目描述 浙江工商大学校园里绿树成荫,环境非常舒适,因此也引来一批动物 ...

  3. maven目录结构介绍篇

    bin  该目录包含了mvn运行的脚本,这些脚本用来配置java命令,准备好classpath喝相关的java系统属性 mvn是基于UNIX平台shell脚本,mvn.bat是基于Windows平台的 ...

  4. SWFObject 的基本使用方法

    SWFObject是一个用于在HTML中方面插入Adobe Flash媒体资源(*.swf文件)的独立.敏捷的JavaScript模块.该模块中的JavaScript脚本能够自动检测PC.Mac机器上 ...

  5. net share

    IT知识梳理 2017-11-30 06:57:10 Dos 命令进阶(一)讲解思路 1.Net常用命令 (1)net share - 查看共享命令 net share ipc$ - 设置ipc$共享 ...

  6. css3 all属性

    ie不支持,谷歌火狐支持,safari9+支持,移动端高版本支持 all属性实际上是所有CSS属性的缩写,表示,所有的CSS属性都怎样怎样,但是,不包括unicode-bidi和direction这两 ...

  7. facebook chat api 使用

    官方API文档: https://developers.facebook.com/docs/chat/ 下面是根据文档修改的类: <?php class Invite_Chat{ protect ...

  8. CCF 201409-1 相邻数对 (水题)

    问题描述 给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1. 输入格式 输入的第一行包含一个整数n,表示给定整数的个数. 第二行包含所给定的n个整数. 输出格式 输出一个整数,表示值正好 ...

  9. Swift4 基本数据类型(范围型, Stride型, 数组, 字符串, 哈希表)

    创建: 2018/02/28 完成: 2018/03/04 更新: 2018/05/03 给主要标题加上英语, 方便页内搜索 [任务表]TODO 范围型(Range)与Stride型  与范围运算符相 ...

  10. zoj 2532 Internship【最小割】

    就是求哪些边在最大流上满流,也就是找割边.把0作为t点,s向所有的1~n连流量为inf的边,其他的边按照流量连.跑一遍最大流,从s顺着有残余流量的正向边dfs打标记fr,从t顺着正向边有残余流量的反向 ...