1. helloworld
    • 编辑一个js文件——在该文件所属目录打开命令行cmd——输入'node -v可查看版本——输入'node  00-hellowolrd.js(你的js名字)'
    • 或者直接在文件所属目录下右键——打卡git bash here
    • 再或者在文件所属目录下按住shift+右键——在此处打开命令行窗口
  2.  注意文件名不要使用node.js,也即是说除了node都可以,最好不要使用中文来命名
  3. 在node中,采用Ecmascript进行编码、没有BOM、DOM,和浏览器中的javaScript不一样
  4. 浏览器中的JavaScript是没有文件操作的能力的,不能能进行读写。但是node中的JavaScript是具有文件操作能力的,node面向的是服务端
  5. 在node中如果想要进行文件操作,就必须引入fs这个核心模块,fs 就是file-system的简写,就是文件系统的意思,在fs这个核心模块中,就提供了所有文件操作相关的API(应用程序接口),例如fs.readFile就是用来读取文件的
    •   var fs = require('fs');
  6. 读取文件
    //   第一个参数就是尧读取的文件路径
    //   第二个参数是一个回调函数
    //     error
    //       如果读取失败,error就是错误对象
    //       如果读取成功,error就是null
    //     data
    //       如果读取成功,data就是读取到的数据
    //       如果读取失败,error就是错误对象
  7. fs.readFile('hello.txt', function(error,data){
     console.log(data.toString());
    });//返回 <Buffer 68 65 6c 6c 6f>
     //文件中储存的其实都是二进制数据0 1
     //这里看到的不是0和1,原因是二进制转换为16进制了
     //但无论是2二进制或16进制,人类都不认识,
     //因此通过toString方法将其转换为我们能认识的字符

  8. cls命令可将cmd.exe内容清屏
  9. 写入文件
  10. 最简单的http服务

  11. 运行结果如下
    //可以使用node非常轻松的构建一个web服务器
    //在node中专门提供了一个核心模块:http
    //http这个模块的职责就是帮你创建编写服务器的
    //1、加载http核心模块
     var http = require('http');  // var http 变量名可自行随意命名,但是require里面的必须使用http
    //2、使用htp.createServer()方法创建一个web服务器
    //   返回一个Server实例
    var server = http.createServer();
    //3、服务器要干嘛?
    //   提供服务:对数据服务
    //   发请求
    //   接受请求
    //   处理请求
    //   给个反馈(发送响应)
    //   注册request请求事件
    //   当客户请求过来,就会自动触发服务器的request请求事件,然后执行第二个参数,回调处理函数
    server.on('request',function(){
     console.log('收到客户端的请求了');
    })
    //4、绑定端口号,启动服务器
    server.listen(3000,function(){
     console.log('服务器启动成功了,可以通过http://127.0.0.1:3000来访问');
    });
    • cmd内使用ctrl+C即可关闭服务
  12.   
    var http = require('http'); 
    
    var server = http.createServer();
    // request请求对象处理函数,需要接收两个参数;
    // request请求对象,请求对象可以用来获取客户端的一些请求信息,例如请求路径
    // response响应对象
    // 响应对象可以用来给客户端发送相应消息
    server.on('request',function(request,response){
    console.log('收到客户端的请求了,请求路径是' + request.url);
    //这里可以通过if条件句来判断响应回应的东西
    //response对象有一个方法:write可以用来给客户端发送响应数据
    //write可以写很多次,但最后一定要用end来结束,否则客户端会一直等待
    response.write('hello');
    response.write(' nodejs');
    //告诉客户端,我的话说完了,可以关闭了
    response.end();
    //由于现在我们的服务的能力还非常的弱,无论什么请求都只能相应hello nodejs
    })
    server.listen(3000,function(){
    console.log('服务器启动成功了,可以通过http://127.0.0.1:3000来访问');
    });
  13. 通过if条件语句判断url,将数组转化为字符串用于输出
    var http = require('http');
    //1、创建Server
    var server = http.createServer();
    //2、监听request请求事件,设置请求处理函数
    server.on('request',function(req,res){
    console.log('收到请求,青求路径是' + req.url);
    /*res.write('hello');
    res.write('nodejs');
    res.end();*/
    //上面方式比较麻烦,推荐使用更简单的方式
    //res.end('hello hello');
    //根据不同的请求路径发送不同的响应结果
    //1、获取请求路径
    // req.url获取到的是端口号之后的那一部分路径
    // 也就是说所有的url都是以/开头的
    //2、判断路径处理响应
    var url = req.url;
    /*if(url === '/'){
    res.end('index page');
    }else if(url === '/login'){
    res.end('login page');
    }else{
    res.end('404 Not Found');
    }*/ if(url === '/products'){
    var products = [
    {
    name:'小米 X',
    price: 8888
    },{
    name:'华为 X',
    price: 9999
    },{
    name:'vivo X',
    price: 6666
    }
    ]
    res.end(JSON.stringify(products)); //将数组转化为字符串
    }
    //相应内容只能是二进制数据或者字符串
    //数字、对象、数组、布尔值都不可以 })
    //3、绑定端口号,启动服务

    server.listen(3001,function(){
    console.log('服务器启动成功,可以访问');
    })
  14. 核心模块
    •   node为JavaScript提供了很多服务器级别的API,这些API绝大多数都被包装到了一个具名的核心模块中,例如文件操作fs模块,http服务构建的http模块,path路径操作模块,os系统操作信息
    • 只要说这个模块是个核心模块,马上想到如果想要使用它,就必须: var fs = require('fs');
  15.   
    //用来获取机器信息的

    var os = require('os');
    var path = require('path');
    //获取当前机器的CPU信息
    console.log(os.cpus());
    //memory内容
    console.log(os.totalmem());
    //extname extension name 扩展名
    console.log(path.extname('c:/a/b/c/d/helloMy.txt'));
    简单的模块化

  16. 简单模块化-加载与导出

node初学者笔记的更多相关文章

  1. Java初学者笔记

    Java初学者笔记 前提:认识汉字,认识英语单词,会用键盘打字 ------------------------------- 端口是什么: --------面向对象编程(OOP) 接口”(Inter ...

  2. 逆向中静态分析工具——IDA初学者笔记之字符串分析

    逆向中静态分析工具——IDA初学者笔记之字符串分析 程序中往往包含很多字符串资源,这些资源存在于PE文件的rdata段,使用IDA反编译后,可以查找到这些字符串, 逆向破解程序通常需要一个突破点,而这 ...

  3. 逆向中静态分析工具——IDA初学者笔记

    逆向中静态分析工具——IDA初学者笔记 //****************************************************************************** ...

  4. 数据类型-Java基础一-初学者笔记

    初学者笔记 1.Java中的两种类型   在java源代码中,每个变量都必须声明一种类型(type). 有两种类型:primitive type和reference type.引用类型引用对象(ref ...

  5. jQuery初学者笔记 一

    jQuery初学者笔记 一 Mirror王宇阳 by jQuery语法 jQuery语法是通过选取HTML元素,并对选取的元素进行操作 基础语法: 所有jQuery语句用"$"符号 ...

  6. Node学习笔记(一):stream流操作

    NodeJs中谈及较多的可能就是Stream模块了,先写一个简单的ajax回调 $.post("index.php",{data:'aaa',order:'ccc'},functi ...

  7. Node初学者入门,一本全面的NodeJS教程(转载)

    分类 JS学习   发布 ourjs  2013-12-02 注意 转载须保留原文链接,译文链接,作者译者等信息.     作者: Manuel Kiessling  翻译: goddyzhao &a ...

  8. node 学习笔记

    以下笔记默认安装完成node 及npm 1.安装express 新版本的express-generator已经独立出来,全局安装这个包就ok. npm install express-generato ...

  9. node学习笔记-搭建node环境

    最近项目要用到node,利用空闲整理做下笔记 第一步  安装node,方式比较多,最为直接的是直接去官网     可直接从官网下载安装http://nodejs.cn/download/ 根据自己情况 ...

随机推荐

  1. 内置函数之sorted,filter,map

    # 4,用map来处理字符串列表,把列表中所有人都变成sb,比方alex_sb # name=['oldboy','alex','wusir'] # print(list(map(lambda i:i ...

  2. 《编写高质量代码:Web 前端开发修炼之道》 笔记与读后感

    编写高质量代码:Web 前端开发修炼之道/曹刘阳著. —北京:机械工业出版社,2010.5 第一版 涉及到的知识点: 1. CSS Sprites 在国内很多人叫css精灵,是一种网页图片应用处理方式 ...

  3. HDU 1848 Fibonacci again and again【博弈SG】

    Problem Description 任何一个大学生对菲波那契数列(Fibonacci numbers)应该都不会陌生,它是这样定义的: F(1)=1; F(2)=2; F(n)=F(n-1)+F( ...

  4. [POI2011]Garbage 欧拉回路

    [POI2011]Garbage 链接 https://www.lydsy.com/JudgeOnline/problem.php?id=2278 https://loj.ac/problem/216 ...

  5. 枚举+排序|神奇算式|2014年蓝桥杯A组题解析第三题-fishers

    标题:神奇算式 由4个不同的数字,组成的一个乘法算式,它们的乘积仍然由这4个数字组成. 比如: 210 x 6 = 1260 8 x 473 = 3784 27 x 81 = 2187 都符合要求. ...

  6. 记录一下 ajax的基础传送

    传数据 var json = $("#form").serializeObject(); $.ajax({ url: "/getUser", type: &qu ...

  7. [CodeForces 892A] Greed (Java中sort实现从大到小排序)

    题目链接:http://codeforces.com/problemset/problem/892/A 具体的Java 中 sort实现降序排序:https://www.cnblogs.com/you ...

  8. Jenkins简介

    Jenkins 是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上.同时 Jenkins 能实施监控集成中存在的错误,提供详细的日志文件和 ...

  9. Win10远程桌面可能是由于CredSSP加密Oracle修正

    win10更新1083之后,远程桌面就会连接失败,显示如下: 根据微软官方的说法是更改了安全策略: https://support.microsoft.com/zh-cn/help/4093492/c ...

  10. open()、fwrite()、fread()函数使用说明与示例

    fopen()函数: 1.作用: 在C语言中fopen()函数用于打开指定路径的文件,获取指向该文件的指针. 2.函数原型: FILE * fopen(const char * path,const ...