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 ...
随机推荐
- myeclipse转到函数定义的方法去
转到函数的定义CTRl+鼠标左击 myeclipse自动补全的快捷键 alt+/
- Sql Server系列:Transact-SQL变量
变量是Transact-SQL中由用户定义.可对其赋值并参与运算的一个实体,分为全局变量和局部变量.其中全局变量由系统自定义并维护,全局变量名称前面有@@字符,任何程序均可随时调用.局部变量名称前面有 ...
- js+css实现骰子的随机转动
网上找的例子,然后增添了新的东西,在这里展示一下...... 效果图预览: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitio ...
- Android各类权限意思祥解
1. android.permission.ACCESS_CHECKIN_PROPERTIES 允许读写访问”properties”表在 checkin数据库中,可以修改值上传 2. andro ...
- C/C++:提升_指针的指针和指针的引用
C/C++:提升_指针的指针和指针的引用 写在前面 今天在使用指针的时候我发现了一个自己的错误.
- 1Z0-053 争议题目解析25
1Z0-053 争议题目解析25 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 25.You enabled Flashback Data Archive on the INVEN ...
- FreeMarker模板开发指南知识点梳理
freemarker是什么? 有什么用? 怎么用? (问得好,这些都是我想知道的问题) freemarker是什么? FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生 ...
- Service组件简介
Service是一个应用程序组件,没有图形化界面,通常用来处理一些耗时较长的操作,可以用Service更新ContentProvider,发送Intent以及启动系统的通知等等.Service并不是一 ...
- Ajax提交参数的值中带有html标签不能提交成功的解决办法(ASP.NET)
最近在公司做资源及文章上传功能遇到一个小问题,被坑了好半天. 该功能就类似利用富文本编辑器发布信息,但是用Ajax提交数据,因此提交参数值中不可避免的含有html标签. 在本地运行代码一直没问题,总是 ...
- OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(1)
图像的几何变换是在不改变图像内容的前提下对图像像素的进行空间几何变换,主要包括了图像的平移变换.镜像变换.缩放和旋转等.本文首先介绍了图像几何变换的一些基本概念,然后再OpenCV2下实现了图像的平移 ...