1-1 node 基础
简单的说 Node.js 就是运行在服务端的 JavaScript。
Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。
Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。
2、为什么出现,解决什么问题?
传统的服务器如php或者java,每个web http请求会产生一个线程,假设每个线程需要2m的内存消耗,那么一个8g的服务器也只能承受4000个并发用户请求,当服务器承受不了的时候就要加服务器,从而增加了运营成本(当然现在有nginx支撑,可以提供更高的并发请求)。
解决了长链接、多请求引发的成本问题。
优点:能处理高并发请求,节约服务器资源。
3、安装
https://nodejs.org/en/download/
windows,下载对应的包,下一步下一步安装即可。
安装同时也会安装npm 包管理器
node -v 检测版本以及是否安装成功
4、模块的概念 npm
模块化,将一段拥有独立功能的js根据cmd或者amd规范封装成的一个包,称为模块。
官方解释:
模块化是指在解决某一个复杂问题或者一系列的杂糅问题时,依照一种分类的思维把问题进行系统性的分解以之处理。模块化是一种处理复杂系统分解为代码结构更合理,可维护性更高的可管理的模块的方式。可以想象一个巨大的系统代码,被整合优化分割成逻辑性很强的模块时,对于软件是一种何等意义的存在。对于软件行业来说:解耦软件系统的复杂性,使得不管多么大的系统,也可以将管理,开发,维护变得“有理可循”
举例:台式机由:主板、cpu、内存、硬盘、显示器、鼠标等部件组成,当我们硬盘不够了,再加,某个部件坏了,换。很方便吧。这就是模块化的体现。反之:手机,cpu坏了,很麻烦,有可能整个手机就废了,虽然也可以换,但是成本很高,这就是非模块化的代价。
小节(化繁为简,化大为小)
5、commonJs规范
历史1:
js自诞生以来,曾经没人拿他当一门真正的编程语言,以为它只不过是小脚本,在web1.0时代,这种脚本语言广为流传,一种是表单验证,另一种是网页特效,由于被布莱登艾克在一个夜黑风高的时刻匆忙的制定出来,所以自身有很多缺陷。到了web 2.0时代,前端利用它大大提升了网页用户体验B/S应用越来越广泛,至此,js才被重视。他大致经历了,工具库、组件库、前端框架、前端应用的变迁。
历史2:
经历了长长的后天努力,js不断被类聚和抽象,以更好地组织业务逻辑,各种封装、各种伪继承,你看看人家java的Import、php的includ,想想自己多可怜,做为一个js居然不能轻易的使用上一个js或者自己的兄弟,可悲,只能在浏览器里用script标签引入,引入多了既造成性能问题,也造成可维护性差,所以commjs规范就诞生了,就像当初互联网诞生一样,时势造英雄。
CommonJS规范为js制订了一个美好的愿景,希望它可以在任何地方运行。
CommonJS定义的模块分为:{模块引用(require)} {模块定义(exports)} {模块标识(module)}
require()用来引入外部模块;exports对象用于导出当前模块的方法或变量,唯一的导出口;module对象就代表模块本身。
1-1 node 基础的更多相关文章
- node基础篇二:模块、路由、全局变量课堂(持续)
今天继续更新node基础篇,今天主要内容是模块.路由和全局变量. 模块这个概念,在很多语言中都有,现在模块开发已经成为了一种潮流,它能够帮助我们节省很多的时间,当然咱们的node自然也不能缺少,看下例 ...
- node基础-文件系统-文件写操作
文件操作频率最高的就是读跟写.nodejs的文件的读取API在<node基础-文件系统-读取文件>里已经简单介绍过,本文就简单介绍下nodejs的文件写API. nodejs的文件操作均提 ...
- Node基础篇(文件操作)
文件操作 相关模块 Node内核提供了很多与文件操作相关的模块,每个模块都提供了一些最基本的操作API,在NPM中也有社区提供的功能包 fs: 基础的文件操作 API path: 提供和路径相关的操作 ...
- node基础01:简要介绍
1.node vs php 优点 性能高(机制问题) 开发效率高(省了不少优化的事) 应用范围广(可以开发桌面系统,electron框架) 缺点 新,人少 中间件少 IDE不完善 2.node的劣势和 ...
- Node基础:域名解析DNS(ok)
写在前面 Nodejs学习手册,基础总结之DNS模块.对从事web开发的同学来说,DNS解析再熟悉不过,在nodejs中也有一个模块可以完成dns解析的工作,使用非常简单.直接进入主题. 域名解析:d ...
- node基础 --全局
全局对象: global:永远使用var 定义变量以避免引入全局变量; process:所有全局执行上下文的内容都在process对象中: 模块和包: 模块:一个Node.js 文件就是一个模块,这个 ...
- Vue.js 运行环境搭建详解(基于windows的手把手安装教学)及vue、node基础知识普及
Vue.js 是一套构建用户界面的渐进式框架.他自身不是一个全能框架——只聚焦于视图层.因此它非常容易学习,非常容易与其它库或已有项目整合.在与相关工具和支持库一起使用时,Vue.js 也能完美地驱动 ...
- node基础—概述与安装
什么是Nodejs 简单的说 Node.js 就是运行在服务端的 JavaScrip(编写高性能网络服务器的JavaScript工具包(用js开发服务端程序))t. JS是脚本语言,脚本语言都需要一个 ...
- node(基础)_node中的javascript
一.前言 ...
- node基础知识
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,是一个可以让 JavaScript 运行在服务器端的平台 Node.js 使用了一个事件驱动.非阻塞式 I/O ...
随机推荐
- unity开发相关环境(vs、MonoDevelop)windows平台编码问题
情景描述:最近在做Unity的网络底层,用VS编写源码,MonoDevelop用来Debug,在Flash Builder上搭建的Python做协议生成器,期间有无数次Unity莫名奇妙的的down掉 ...
- Codeforces Round #327 (Div. 2) B. Rebranding C. Median Smoothing
B. Rebranding The name of one small but proud corporation consists of n lowercase English letters. T ...
- poj 3414 Pots bfs+模拟
#include<iostream> #include<cstring> #define fillA 1 #define pourAB 2 #define dropA 3 #d ...
- Android音频开发之AudioRecord录音实现
前言: 其实在Android中录音可以用MediaRecord录音,操作比较简单.但是不能对音频进行处理.考虑到项目中做的是实时语音只能选择AudioRecord进行录音. 本文算是对AudioRec ...
- 配置 linux-bridge mechanism driver - 每天5分钟玩转 OpenStack(77)
本节开始我们将学习 Linux Bridge 如何实现 Neutron 的各种功能.首先需要配置 linux-bridge mechanism driver. Neutorn ML2 plugin 默 ...
- gsoap设置超时
1.修改gsoap自动生成的代码才能进行超时设置(我这边访问web service的代码都是gsoap工具自动生成.根据wsdl接口) 2.找到生成的soapwwwsdlBindingProxy.cp ...
- Notes:indexedDB使用
indexedDB是浏览器端保存结构化数据的一种数据库,类似于mysql,oracle等数据库,但indexedDB使用对象存储数据,而不是用表. indexedDB是全局的宿主对象,使用window ...
- 我的Objective-C系列文章
做iOS开发有一段时间了,也有自己上线的App产品,也在坚持着发表技术博客总结自己所学的东西.在写博客的时候虽然博文中不免有错别字,但每句话都是在斟酌之后所写的,每篇博客所粘贴的代码都是经过调试运行无 ...
- Ubuntu杂记——Ubuntu下Eclipse搭建Maven、SVN环境
正在实习的公司项目是使用Maven+SVN管理的,所以转到Ubuntu下也要靠自己搭环境,自己动手,丰衣足食.步骤有点简略,但还是能理解的. 一.安装JDK7 打开终端(Ctrl+Alt+T),输入 ...
- php isset( $test ) 的神奇之处。
很久一段时间没更新博客了,由于近段时间一直在忙 挑战杯 的项目,所以没怎样把一些总结放上来.这次,总结下 php 的一个 函数 : boolean isset($test), 返回值:boolean类 ...