学习笔记——node.js】的更多相关文章

node.js的作用在于,号称可以让服务器支持更多的连接.比如说,php + apche可以让服务器支持4000个并发连接,那么node.js + apche可以让服务器支持并发几万个. 为什么这么牛? 一方面,node.js创建的连接,只是发射一些事件,没有生成OS线程,因此不会占用什么资源,也没有资源锁这种问题. 另一方面,node.js内置了内存排队机制,也就是异步机制,因而可以对蜂拥而至的用户连接迅速做出反应. node.js,就是在服务器端运行的javascript,采用的是谷歌chr…
一.简介 Node.js 是一个基于Google Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效.Node.js 的包管理器 npm,是全球最大的开源库生态系统. 能方便地搭建响应速度快.易于扩展的网络应用,Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行的数据密集型的实时应用. 官网:https://nodejs.org/en/中文:https://cnode…
3.4  调试        47  下面是一个简单的例子: $ node debug debug.js < debugger listening on port 5858 connecting... ok break in /home/byvoid/debug.js:11 var a = 1; 2 var b = 'world'; 3 var c = function (x) { debug> n break in /home/byvoid/debug.js:21 var a = 1; 2…
path.extname 返回path路径文件扩展名,如果path以 ‘.' 为结尾,将返回 ‘.',如果无扩展名 又 不以'.'结尾,将返回空值. path.extname('index.html'): // returns '.html' path.extname('index.'): // returns '.' path.extname('index'): // returns ''…
最近正在学习Node,在图书馆借了基本关于Node的书,同时在网上查阅资料,颇有收获,但是整体感觉对Node的理解还是停留在一个很模棱两可的状态.比如Node中的模块,平时练习就接触到那么几个,其他的一些模块暂时只会在学习的时候接触到,不常用便就荒废了.正所谓好记心不如烂笔头,多做笔记还是更有利于理解和记忆.自己做的总结也方便回头复习,所以决定踏上漫长的修炼之旅-- Node提供了许多API,其中一些比较重要.这些核心的API是所有Node应用的支柱,你会不停的用到他们. HTTP服务器 Nod…
最近在学习Node.js相关知识,在环境搭建上耗费了不少功夫,故此把这个过程写下来同大家分享一下,今天我先来介绍一下Docker,有很多人都写过相关知识,还有一些教程,在此我只想写一下,我的学习过程中用到的一些知识和注意点. 玩过虚拟机的同学可能对Docker学习和理解就会快一点,至于Docker是什么,我就引用其官网的一句话吧:Docker is an open platform for building, shipping and running distributed applicatio…
理解Node.js 为了理解Node.js是如何工作的,首先你需要理解一些使得Javascript适用于服务器端开发的关键特性.Javascript是一门简单而又灵活的语言,这种灵活性让它能够经受住时间的考验.函数.闭包等特性使Javascript成为一门适合Web开发的理想语言. 有一种偏见认为Javascript是不可靠的,然而事实并非如此.人们对Javascript的偏见来源于DOM,DOM是浏览器厂商提供的用于Javascript与浏览器交互的API,不同浏览器厂商实现的DOM存在差异.…
JavaScript与Node.js JavaScript与你 抛开技术,我们先来聊聊你以及你和JavaScript的关系.本章的主要目的是想让你看看,对你而言是否有必要继续阅读后续章节的内容. 如果你和我一样,那么你很早就开始利用HTML进行“开发”,正因如此,你接触到了这个叫JavaScript有趣的东西,而对于JavaScript,你只会基本的操作——为web页面添加交互. 而你真正想要的是“干货”,你想要知道如何构建复杂的web站点 —— 于是,你学习了一种诸如PHP.Ruby.Java…
1.开发环境搭建 v8引擎是作为解析JavaScript程序来运行的 nodejs是一个高性能的,第一个体现在他的JavaScript解析速度很快,v8引擎性能很高,第二个事件驱动和非阻塞 2.全局对象 window对象等等 计时器对象 setTimeout(() => { console.log("3 secends passed!"); }, 3000); // 一次间隔 time = 0; var timer = setInterval(() => { time+=2…
Node.js入门 读完本书之后,你将完成一个完整的web应用,该应用允许用户浏览页面以及上传文件. 里面对一些知识的讲解,让你略窥Node.js的门径.最好一段代码一段代码的写下来,我的习惯是手里拿着笔,边写重点的词,边思索,再敲敲代码.一天到两天你能看完这本书,我看过一遍了,计划再寻摸一遍.有问题大家可以一起探讨. 四个文件在同一个目录下 启动 cmd窗口: 输入 node  D:\workspace\nodejs\index.js 也可以定位到当前目录后: D:\workspace\nod…
最近工作中,因为某某某某原因,需要用到Node.js  . 发现在很多方面和python很像,比如generator / yield ,比如模块的使用方式,比如http模块. 先安装个环境,windows没什么难度,下载个安装包装一下就行,主要看一下centos的 并且修改了npm源为淘宝源,主要是下载速度快.并且安装了forever组件,作为服务器的 node 服务器守护程序. // centos6.5下安装 // 官网下载: https://nodejs.org/en/download/ /…
本文来源于i春秋学院,未经允许严禁转载 0x01 介绍 简单的说 Node.js 就是运行在服务端的 JavaScript.Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台.Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好.Node.js使用Module模块去划分不同的功能,以简化应用的开发.Modules模块有点像C++语言中的类库.每一个Node.js的类库…
Node.js是一个Javascript运行环境(runtime environment),发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装.本文详细介绍了Node.js的安装和使用. 一.Node.js介绍 Node.js 不是一个 JavaScript 框架,不同于CakePHP.Django.Rails.Node.js 更不是浏览器端的库,不能与 jQuery.ExtJS 相提并论.Node.js 是一个让 JavaScript 运行在服务端的开发平…
阻塞与非阻塞 正如此前所提到的,当在请求处理程序中包括非阻塞操作时就会出问题.但是,在说这之前,我们先来看看什么是阻塞操作. 我不想去解释“阻塞”和“非阻塞”的具体含义,我们直接来看,当在请求处理程序中加入阻塞操作时会发生什么. 这里,我们来修改下start请求处理程序,我们让它等待10秒以后再返回“Hello Start”.因为,JavaScript中没有类似sleep()这样的操作,所以这里只能够来点小Hack来模拟实现. 让我们将requestHandlers.js修改成如下形式: fun…
基于事件驱动的回调 这个问题可不好回答(至少对我来说),不过这是Node.js原生的工作方式.它是事件驱动的,这也是它为什么这么快的原因. 你也许会想花点时间读一下Felix Geisendörfer的大作Understanding node.js,它介绍了一些背景知识. 这一切都归结于“Node.js是事件驱动的”这一事实.好吧,其实我也不是特别确切的了解这句话的意思.不过我会试着解释,为什么它对我们用Node.js写网络应用(Web based application)是有意义的. 当我们使…
用例 我们来把目标设定得简单点,不过也要够实际才行: 用户可以通过浏览器使用我们的应用. 当用户请求http://domain/start时,可以看到一个欢迎页面,页面上有一个文件上传的表单. 用户可以选择一个图片并提交表单,随后文件将被上传到http://domain/upload,该页面完成上传后会把图片显示在页面上. 差不多了,你现在也可以去Google一下,找点东西乱搞一下来完成功能.但是我们现在先不做这个. 更进一步地说,在完成这一目标的过程中,我们不仅仅需要基础的代码而不管代码是否优…
欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 思维导图 前面对JS的运算符的操作很多细节的东西没有提及,今天给大家分享一张网上找的思维导图,对这一部分做一个详细的补充,小编觉得总结得还算很到位的:…
前言:这段时间都在学习Vue的知识,虽然手边放着一本js高程,但确实好久没有好好复习了.温故而知新,因此特意把JS常见的设计模式总结,希望对大家有所帮助... 1. 工厂模式 释义:像工厂一样流水线般生产一个个对象 核心:return一个对象,创建不同的引用类型 // 工厂模式 function createPerson (){ //定义工厂 let person = { name:'人', walk:function(){ console.log('walk') } } return pers…
我们知道 npm 是很大的库,很多轮子可以用 所以 .net core 替我们封装了一个调用 nodejs 的 service 就叫 node service 我们只要在 server 安装 nodejs 然后就可以写 js, require npm 的 packages 然后通过 .net core 的 service 允许这个 js 然后返回对应的 result. 比如我想解析一个 html, npm 里就有很多轮子可以做这个. 具体实现参考 : https://www.cnblogs.co…
JS介绍 JavaScript 是属于网络的脚本语言!JavaScript 被数百万计的网页用来改进设计.验证表单.检测浏览器.创建cookies,以及更多的应用:JavaScript 是因特网上最流行的脚本语言. JavaScript 与 Java 是两种完全不同的语言,无论在概念还是设计上. Java(由 Sun 发明)是更复杂的编程语言. ECMA-262 是 JavaScript 标准的官方名称. JavaScript 由 Brendan Eich 发明.它于 1995 年出现在 Net…
ajax是一个与服务器端语言无关的技术,可以使用在任何语言环境下的web项目(如JSP,PHP,ASP等). ajax优点: 1) 页面无刷新的动态数据交互 2) 局部刷新页面 3) 界面的美观 4) 对数据库的操作 ajax使用 第一步:创建ajax引擎(获取XMLHttpRequest对象) 不同浏览器内核,获取XMLHttpRequest对象方法不一样.所以在创建ajax引擎之前需要先判断浏览器内核. 主流浏览器内核有:IE浏览器,火狐浏览器(Firefox) 创建方法一: var xml…
js.css.html判断浏览器的各种版本 (转载自:http://www.jb51.net/web/42244.html  版权归原作者所有) 利用正则表达式来判断ie浏览器版本 判断是否IE浏览器 if (document.all) { alert("这个是ie浏览器");} 判断是否IE6浏览器 方法一:if ( /MSIE 6.0/ig.test(navigator.appVersion) ) {alert("这个是ie6浏览器");} 或 /MSIE 8/…
<script>标签放在<body>和<head> 放在 <head></head> 里的会比放在 <body></body> 先执行.head 标签里的代码会在页面还未开始绘制之前被解析,而在 body 里的代码则会在页面渲染的同时在读取到这段代码的时候才被执行. js变量命名 1.由字母.数字.下划线组成,区分大小写 2.以字母开头 3.变量名不能有空格 4.不能使用 JavaScript 中的关键字做变量名 js加法…
写在前边: 工作需要,使用ajax在原来的列表下边使用ajax请求后台数据,拼接在列表最下边,在github转了好久,发现了一个bug极多的js刷新插件,尝试了一个下午,就在快放弃的时候,发现下边有留言说用mescroll框架比较简单好用.遂研究许久,做Javaweb嘛,难免碰前端-- mescroll.js快速上手: 前往mescroll官网下载js和css :http://www.mescroll.com/load.html 1. 下载并引用 mescroll.min.css , mescr…
利用 http 模块开始写简单的web服务. 模块: const http=require('http'); const fs=require('fs'); const path=require('path'); function startServer() { let onRequest=function (req,res) { console.log('recived a request.'); res.writeHead(200,{'Content-Type':'text/html'});…
1.新建一个入口js文件,如entry.js,代码如下: document.write("It works.") 2.然后编译 entry.js 并打包到 bundle.js(会自动生成),在cmd中找到当前entry.js目录下,执行如下命令: webpack entry.js bundle.js 用浏览器打开 html页面 将会看到 It works. 3.接下来增加一个模块module.js,需要修改入口 document.write('It works.'); document…
参考文献:王仕军——知乎专栏前端周刊 感谢作者的热心总结,本文在理解的基础上,根据自己能力水平作了一点小小的修改,在加深自己印象的同时也希望能和各位共同进步... 1. 异步与for循环 抛出一个问题,下面的代码输出什么? for (var i = 0; i < 5; i++) { setTimeout(function() { console.log(i); }, 1000); } 6 console.log(i); 相信绝大部分同学都能答的上,它的正确答案是立即输出5,过1秒钟后一次性输出5…
fullPage.js (页面全屏滚动) 必须依赖 jquery-ui.min.js,   233K 14760个星. 以后有时间再看. API挺全 https://github.com/alvarotrigo/fullPage.js  官网 英国 ,Álvaro开发的 http://www.uedsc.com/fullpage.html API 这页有广告,不过有中文说明,凑合看看吧. http://www.dowebok.com/77.html <script type="text/j…
SuperSlide 2  轮播图插件,较老.但还好用. 适用于PC,是绑定到jquery上的方法: $.slide(); 如果在实际中找不到.slide方法,请检查jquery等.js文件的引入次序.(另外切忌不要引入两次jquery.js,会把$的方法洗掉而导致失效的) http://www.superslide2.com/ 官网 http://www.superslide2.com/SuperSlide.2.1.2/jquery.SuperSlide.2.1.2.js jquery.Sup…
/* @flow */ import { genHandlers } from './events' import { baseWarn, pluckModuleFunction } from '../helpers' import baseDirectives from '../directives/index' import { camelize } from 'shared/util' // configurable state let warn let transforms let da…