十问十答,js认识及学习质感

一、nodejs是什么

nodejs是运用google
chrome浏览器v八引擎,由c++编写的,本质上是以JavaScript运营环境。

ca88手机版登录网页 1

不光解析代码,也未尝浏览器端的各样安全性限制,还提供系统级的API,比如文件读写,进程管理,网络通讯等。

问:什么是Nodo.js?##\

答:Node.js 是基于Google V8 引擎的JavaScript
运营环境,使用事件驱动非阻塞式I/O的模子而得以轻量和高效,卓殊适合在分布式设备上运行数据密集的实时应用。


2、nodejs有多火?

npmjs上数据

20170327数据

ca88手机版登录网页 2

 github中找寻node相关的结果将近30万

ca88手机版登录网页 3

问:怎么学习Node.js?##\

答:

  1. www.nodejs.org
    关切Node.js的版本升级,新特征的参加,重要bug 的修复;
  2. www.npmjs.com
    Node.js模块社区;
  3. www.github.com
    开源平台;
  4. www.stackoverflow.com
    技术问答社区。

3、 借助nodejs实现的门类

  • Node-Webkit
    使用web技术开发跨平台的桌面应用程序,能包容Mac,Linux可能Windows
  • appjs和Node-Webkit相似
  • musicquiz
  • jade和nodejs组合使用,相当高效的开销和治本后台html模板
  • ghost 强大而且用户体验超好的开源博客程序。
  • Yamr
  • grunt
    :javascript跑各样职责的运作工具。通过合并各类插件来成功,比如样式编写翻译、语法检查、脚本压缩合并,自动化测试,shell脚本运行,文书档案生成,甚至图片处理等等任务。
  • express.js
  • gulp:针对grunt的繁杂配置,有了更简洁高效的集体措施。
  • nodecast:在pc上运转它,运行移动设备,选中壹支撑chromecast的应用程序,然后就足以把活动广播上的始末映射到总括机上。等于把电脑当做流媒体来利用。
  • log.io  在浏览器里面能够实时督查项目日志。
  • hyro
  • pdfkit 生成pdf文档。
  • haroopad, linux上的markdown编辑器。
  • noduinoWeb,硬件黑客希望经过noduinoWeb页面就能决定他们的开源硬件noduino,从而将软件和硬件很好的咬合起来。
  • Filsh
  • Forever
  • NodeOS 基于nodejs开发的祥和的操作系统。
  • Imdex

问:Node.js怎么样选拔版本?##\

ca88手机版登录网页,答:Node.js
偶数位为祥和版本,如:-0.6.x、-0.8.x、-0.10.x;奇数位为不安静版本,如:-0.7.x、-0.玖.x、-0.1一.x


四、通过5个网址关怀nodejs

  1. 官网:https://nodejs.org/en/
    看看版本升级,新特点的投入,主要bug的修补,包罗新型的API变化,发展历史。
  2. npmjs模块社区 :https://www.npmjs.com/    
    开发新项目,编写新模块时,搜索一下有关模块,看看源代码,看看人家代码是一旦组织的,化解项目中的难点,省时省力。
  3. github代码托管平台:https://github.com/
    在此地有大量和nodejs有关的代码,阅读源码是壹种高效的提供学习进程的点子,fork大概follow
    nodejs代码,看到它的转移和社区的转移。
  4. stackoverflow技术问答社区:http://stackoverflow.com/  
    环境安插出了难题,跑服务的时候报了老大 基本都能一下子就解决了。

问:Windows怎么样设置Node.js?##\

答:

  1. 下载 Git
    bash

    安装;
  2. 下载 Node.js
    安装;
  3. 安顿环境变量,例:Win八右键左下角小磁块-系统-高级系统装置-系统变量-Path-编辑,在其后扩大Node.js
    的设置路径;
![](https://upload-images.jianshu.io/upload_images/3244729-000e1e27f46a52d8.png)

配置环境变量
  1. 测试是不是安装成功,打开Git或命令行,输入node -v、npm
    -v重返版本号即安装成功。
![](https://upload-images.jianshu.io/upload_images/3244729-33c2417dcc0451c4.png)

测试安装是否成功

5、nodejs版本

 ca88手机版登录网页 4

安乐版本有bug修复,非稳定版本中API的修改。

初阶2个Web服务器##\

  1. 新建筑工程作目录-新建server.js文件

文本内容
const http = require('http'); const hostname = '127.0.0.1'; const port = 3000; const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World\n'); }); server.listen(port, hostname, () => { console.log('Server running at http://${hostname}:${port}/'); });

  1. 开拓命令行,切换成工作目录,输入node
    server.js,打开浏览器访问http://127.0.0.1:3000/,页面中回到Hello
    World 。

6、nodejs模块与commonjs规范

nodejs中不需求有命名空间,不用顾虑变量污染和章程定义隔开。

ca88手机版登录网页 5

种种模块中有多少个部分:模块的概念,模块的标识,模块的引用。比如Nodejs/Couchdb都以兑现了CommonJs规范,并上报拉动CommonJs。

取名空间:jquery

CommonJs规范:包含了模块,包,二进制,控制台编码,套接字,单元测试等来约定JavaScript应该怎么去组织,怎么去编写。

ca88手机版登录网页 6 

 

浏览器执行环境与Node.js执行环境的异同##\

相同点:都能履行平时的js代码;
不相同点:全局变量分裂,例如:window,document等只可以在浏览器中取到,而process只还好node中取到,Node.js
本质上是多少个js的周转条件,其包装和尾巴部分的拍卖赋予了更加强的力量。

七、Node.js 入门城门失火材料

汇智网 Node.js 课程

高速搭建 Node.js 开发环境以及加速 npm

http://fengmk2.com/blog/2014/03/node-env-and-faster-npm.html

Node.js 包教不包会

https://github.com/alsotang/node-lessons

最快的 js 编写方式

https://github.com/alsotang/fast-js

七日学会NodeJS

https://github.com/nqdeng/7-days-nodejs

Node入门-一本全面包车型大巴Node.js教程

http://www.nodebeginner.org/index-zh-cn.html

Node.js 的模块与Commonjs 的正统##\

JS天生缺少命名管理机制,来隔开分离完结不一样功效的js片段,制止互相污染。
为了缓解此难题,咱们平时应用命名空间,把变量和函数限制在有些特定的功力域内。

差异于jQuery,commonjs是1套规范。包涵modules模块、packages包、system系统、binary2进制、console控制、
encodings编码、sokets套接字、unit
test单元测试。来约定js应该怎么来组织,应该怎么去编写。

先是是把这几个实践不一义务的特定的代码块或文件,看做是一个独立的模块,各样模块能够用作是一个单身的成效域,但不是孤立的,恐怕存在依靠关系。

对此贰个模块或者分成多个重点部分:定义、标识、引用。那种设计规范,不断成长壮大,对广大开源项目有非常大影响。

nodejs和Couchdb正是对Commonjs的兑现,而且专业和促成互为促进,形成2个良性的循环链。

nodejs借鉴了commonjs的那种模块组织观点,完毕了1套模块管理连串。在nodejs里面每一种js文件能够视作是一个单身的模块,在它个中不需求有命名空间。不必顾虑变量、方法的污染、隔断。

再正是这个模块(或许说是文件)通过相互的引入,能够组合起来形成2个更加强硬的模块(只怕是功效包)。

大家设置nodejs时会自动安装npm这么些包管理工科具。通过npm包管理工科具,大家得未来项目里面引入种种繁多的功效模块。他们或简捷或复杂,但各种都以单身的,完整的。


Node.js 资源

node weekly

http://nodeweekly.com/issues

node123-node.js汉语资料导航

https://github.com/youyudehexie/node123

A curated list of delightful Node.js packages and resources

https://github.com/sindresorhus/awesome-nodejs

Node.js Books

https://github.com/pana/node-books

Node.js模块的分类##\

  1. 基本模块
  2. 文本模块
  3. 其三方模块

Node.js 名人

名人堂

https://github.com/cnodejs/nodeclub/wiki/%E5%90%8D%E4%BA%BA%E5%A0%82

模块的流水生产线##\

创制模块-导出模块-加载模块-使用模块

Node.js 服务器

新手搭建 Node.js 服务器,推荐使用无需备案的
Linode(https://www.linode.com)

DigitalOcean(https://www.digitalocean.com/)

nodejs菜鸟教程 

http://www.runoob.com/nodejs/nodejs-tutorial.html

nodejs API文档 

http://nodejs.cn/api/

英文api文档

https://nodejs.org/api/

 

 

本文我starof,因知识自己在转变,小编也在不停学习成长,小说内容也波动时更新,为制止误导读者,方便追根溯源,请各位转发注脚出处:http://www.cnblogs.com/starof/p/4973500.html有标题欢迎与自家谈谈,共同提升。

相关文章

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图