当前位置: 首页 > news >正文

node.js学习笔记--day1

今天第一天学习node.js

下面记录下,node.js的学习

一、node.js的介绍

node.js的特点:单线程、异步、事件驱动。

            优点:开发效率高(优化量少),性能高,应用范围广(electron框架--win8以上支持)

            缺点:新,用的人少,中间件少,IDE不完善

劣势和解决:

 1.默认不支持多核,用cluster可以解决

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

 3.使用nginx做负载均衡,静态由nginx处理,动态由node.js处理

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

框架比较

express:完善,稳定,文档全,社区大

koa:es6开发,正在完善中

Hapi:复杂,适合大型项目

 

二、安装node.js

下载地址:http://nodejs.cn/

安装完毕后测试

1.打开dos窗口。步骤:win-输入cmd回车

2.输入npm(window下node.js是自带npm的;linux下npm需另行安装)

查看npm的版本 npm -v

查看nodejs的版本  node -v

 

三、写Hello World

1.新建个js文件,命名为node_day1.js.编码格式为utf-8

2.在node_day1.js中 输入console.log("hello world");

3.在node_day1.js 文件目录窗口,按住,shift键+右击鼠标--选择"在此处打开命令窗口"

4.在命令窗口输入 node  node_day1.js(文件名) 回车,运行完成!

停止运行 ctrl+c

服务器端写法:

 1 //定义http对象
 2 var http = require("http");
 3 //http创建了一个web服务,服务方法里带两个对象,request代表用户向浏览器发出的请求,response代表服务器向浏览器返回的对象
 4 http.createServer(function(request,response){
 5   //写http协议头
 6     response.writeHead(200,{"Content-Type":"text/html;charset=urf-8"});
 7        //清除第二次访问
 8     if(request.url!=="/favicon.ico"){
 9        console.log("访问");
10        response.write("hello world");
11        response.end("结束");//不写没有http协议尾,写了产生两次访问
12     }
13 }).listen(8000);//监听8000端口
14 console.log("Server running at http://127.0.0.1:8000/");

最后输入的即一个访问。

 

另,今天学的有点多,貌似好多东西学的不精。明天专门研究下htpp协议。

 

转载于:https://www.cnblogs.com/jolee/p/5971060.html

相关文章:

  • Java 简单算法--排序
  • mysql视图学习总结
  • Ionic2构建iOS应用上传总结
  • vim 命令的一些用法
  • JS闭包
  • 【服务器环境搭建-Centos】jdk的安装
  • Linux 性能基准测试
  • 那些年我们学Flask-SQLAlchemy,实现数据库操作,分页等功能
  • Java设计模式—建造者模式
  • 集群基础之LVS的基础概念
  • mqtt
  • 不做竞价,我们还能做哪些平台?
  • ThinkSNS开源社交系统安装问题及解决措施
  • mysql主从复制的配置总结
  • 关于LOG4J中的日志级别TRACE
  • 【347天】每日项目总结系列085(2018.01.18)
  • centos安装java运行环境jdk+tomcat
  • JavaScript学习总结——原型
  • Java知识点总结(JavaIO-打印流)
  • JSDuck 与 AngularJS 融合技巧
  • k8s 面向应用开发者的基础命令
  • laravel5.5 视图共享数据
  • magento 货币换算
  • Making An Indicator With Pure CSS
  • Netty源码解析1-Buffer
  • Node + FFmpeg 实现Canvas动画导出视频
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • 将回调地狱按在地上摩擦的Promise
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 微信小程序实战练习(仿五洲到家微信版)
  • 再谈express与koa的对比
  • Python 之网络式编程
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • ​力扣解法汇总946-验证栈序列
  • ​业务双活的数据切换思路设计(下)
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • ###51单片机学习(2)-----如何通过C语言运用延时函数设计LED流水灯
  • $GOPATH/go.mod exists but should not goland
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (C#)获取字符编码的类
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (分布式缓存)Redis分片集群
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (三) prometheus + grafana + alertmanager 配置Redis监控
  • (算法)N皇后问题
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • .Net 6.0 处理跨域的方式
  • .NET CLR基本术语
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .NET Core Web APi类库如何内嵌运行?
  • .Net MVC + EF搭建学生管理系统
  • .NET开源快速、强大、免费的电子表格组件
  • .NET开源项目介绍及资源推荐:数据持久层
  • .NET设计模式(8):适配器模式(Adapter Pattern)
  • .sh