Node学习笔记之模块实现】的更多相关文章

本文同步自我的个人博客:http://www.52cik.com/2015/12/11/learn-node-modules-path.html 用了这么久的 require,但却没有系统的学习过 node 的模块系统,今天就翻官方文档系统的学习下. 循环引用 node 对模块循环引用做了相应的处理,防止无尽的循环. 官方例子: a.js: console.log('a starting'); exports.done = false; var b = require('./b.js'); co…
本文同步自我的个人博客:http://www.52cik.com/2015/12/14/learn-node-modules-module.html 上一篇讲了模块是如何被寻找到然后加载进来的,这篇则是如何导出属性方法以及自定义模块后缀等一系列模块问题. exports 对象 这是最常见的对象了,以往导出都是这样写的. // a.js exports.bar = '属性'; exports.fn = function () { return '方法' }; // b.js var a = req…
一.模块分类 由Node提供的模块,称为核心模块:部分核心模块在Node源代码的编译过程中,编译进了二进制执行文件.在node进程启动时,该部分就直接加载进内存,文件定位和编译执行的步骤可以省略掉,并且在路径分析中优先判断,所以它的加载速度是最快的. 用户编写的模块,成文文件模块:文件模块在运行时动态加载,需要完整的路径分析.文件定位.编译执行过程,速度比核心模块慢. 二.模块规范(CommonJs) 模块的引用  var http = require('math'); 在CommonJs中存在…
自定义模块三大关键词: require——引入模块: exports——单个输出: module——批量输出. 从例子下手: 1.创建module.js: exports.a=22; exports.b=33; exports.c=44; 2.创建一个test.js,并引入module.js: //引入module.js var mod = require('./module.js'); console.log(mod.a,mod.b,mod.c); 3.运行test.js,输出结果如下: 我们…
通过ajax向node后台提交数据过程(附手写前后台代码),并总结post与get的区别 POST 前台代码 //CSS简单给点样式 <style> form{ width: 200px; height: 200px; margin: 100px auto; } #content{ width: 400px; height: 60px; border: 1px solid black; margin: auto; text-align: center; line-height: 60px; b…
这篇是看wklken的<Python进阶-Itertools模块小结> 学习itertools模块的学习笔记 在看itertools中各函数的源代码时,刚开始还比较轻松,但后面看起来就比较费劲... 1.itertools.count(start=0,step=1) 此函数用来创建一个迭代器,生成从n开始的连续整数,如果忽略n,则从0开始计算 如果超出了sys.maxint,计数器将溢出并继续行-sys.maxint-1开始计算 定义: def count(start=0, step=1):…
文件操作关键字: http('fs') ——  请求 node 里面的 http 模块 readFile ——  读文件,参数包括 文件名,回调函数 writeFile ——  写文件,参数包括 文件名,修改的内容,回调函数   先看一下文件目录:   来个新鲜出炉的 关于readFile 的栗子: const fs = require('fs'); //readFile(文件名,回调函数) fs.readFile('aaa.txt',function (err,data) { if(err){…
一.模块 1.模块的概念 模块这一概念很大程度上是为了解决代码的可重用性而出现的,其实这一概念并没有多复杂,简单来说不过是一个后缀为 .py 的 Python 文件而已 例如,我在某个工作中经常需要打印一段很长的内容,很自然地,我会想到将它实现为一个函数,等到需要的时候直接调用即可,而无需重新再输入这一段内容.现在,假如这样的工作不仅仅是我一个人在做,比如现在有成千上万的人需要在他们的工作打印同样的内容,那么也很自然地,我会将这份代码储存成一个文件发给需要的人.这样就产生了模块的概念,我的这一份…
一.准备(github地址) 什么是Javascript? ... Javascript能做什么? ..... 浏览器中的Javascript可以做什么? 操作DOM(增删改查) AJAX/跨域 BOM ECMAScript 浏览器中的Javascript不能做什么? 文件操作 没有办法操作系统信息 由于运行环境 编程语言的能力取决于? 语言本身只是提供了定义变量.定义函数.定义类型.流程控制.循环结构之类的操作 取决于运行该语言的平台(环境) 对于js来说,经常说的JS实际是ES,大部分能力都…
//事件驱动events //events是node最重要的模块没有之一,因为node.js本身的架构就是事件式的,而他提供了唯一的接口,所以堪称node.js事件编程的基石; //events几乎被所有模块依赖 //事件发射器 //EventEmitter支持多个事件监听器,监听器会依次调用; var emitter = require('events').EventEmitter; var e = new emitter(); //为go事件增加2个监听器 e.on('go',functio…
process.stdout(); //标准输出流 process.stdout.write() //提供了比console.log更底层的接口 process.stdin(); //标准输入流 //初始时他是被暂停的,要想从他那里读取数据需要恢复流 //并且手动编写流的事件响应函数 process.stdin.resume(); process.stdin.on('data',function(data){ process.stdout.write('smile:'+data.toString…
logging模块,Python自带用来记录日志的模块. 因为工作需要用到关于日志的,最近一直都在看关于日志模块的东西,百度了很多文章,可惜都是看的让人一头雾水,最后运气不错,找到一篇很详细的文章.传送门:https://www.cnblogs.com/testdjt/p/7834856.html logging模块默认定义了以下几个日志等级 日志等级 (level) 描述 DEBUG 最详细的日志信息,典型应用场景是 问题诊断 INFO 信息详细程度仅次于DEBUG,通常只记录关键节点信息,用…
搭建服务器关键词: require('http') —— 请求 node 里面的 http 模块 createServer —— 创建一个服务器 request —— 请求 response—— 响应   具体js代码: const http=require('http'); /* *request 请求 输入-请求的信息 *response 响应 输出 */ var server=http.createServer(function(req,res){ console.log(req.url)…
ES6---* JavaScript语言随着使用的人越来越多,ECMA语法规范:if/else* 为了让js语言更适应大型应用的开发.旨在消除一些怪异的行为 ### 包含内容(strict严格模式)---* 使用严格模式的方式: - 在全局中或者文件中直接使用 + `use strict`; + 以下的代码就按照严格模式来执行 - 在函数中开启严格模式 + `function xx(){ "use strict"; }` + 以上函数内的代码就执行严格模式,非该函数内的代码正常模式*…
A文件代码: //1.require是一个方法,它的作用就是用来加载模块的 console.log("执行 B ") require('./b.js'); console.log("执行 C ") require('./c');//这里的JS后缀名是可以省略的 //2.在Node中,没有全局作用域,只有模块作用域 //2.1外部访问不到内部 //2.2内部也访问不到外部 var cc=require('./c'); //这样是获取不到C文件下的CC变量的 // co…
1.前言 对于各种编程语言,代码组织是很重要的.而模块是node中的代码组织机制,node中的很多功能都以模块划分,而模块中又封装了许多方法,而且不会改变全局作用域,极大的方便了各开发者的需求. 2.模块操作 2.1 自定义模块 举个例子: hello.js var daysarr = new Array('星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日'); var now = new Date(); var day = now.getDay();…
https://course.tianmaying.com/node 这个系列的文章看起来很不错,值得学习一下. /Users/baidu/Documents/Data/Interview/Web-Server开发/深入浅出Node.js-f46c.pdf 深入浅出Node笔记: // math.js exports.add = function () { var sum = 0, i = 0, args = arguments, l = args.length; while (i < l) {…
这篇就先暂停下上篇博客--你画我猜的进度,因为在做这个游戏的时候,想采用最新的ng2技术,奈何坑是一片又一片,这边就先介绍下环境部署和填坑史 既然要用ng2,首先要拿到资源,我这边用的是angularJs2 beta版的,网上的资源有两种,一个是文件全压缩版的.min.js版的另一个就是一大堆乱七八糟的js文件,主要是ng2已经完全采用TypeScript,加之对es6的支持,所以需要引入一大堆兼容,编译文件 这边刚好特别手欠想学学gulp,于是开搞配置gulp环境,压缩所有的js文件成一个mi…
本文同步自我的个人博客:http://www.52cik.com/2015/12/04/learn-node-path.html path 模块是 node 用于整理.转换.合并路径的神器,只要是路径问题,都可以交给它处理. 但它仅仅是处理路径字符串,而不会去坚持或处理文件. path.normalize 路径整理 做项目时,往往都是基于相对路径,于是经常会出现类似这样的路径 path//upload/../file/./123.jpg. 当然这个是把所有坑都写到一起了,不过就算这样的路径,pa…
废话:自高中以来一直对编程充满激情,磨剑五年,如今要毕业了,我不想用我已经擅长的知识敷衍,而想以一个全新的领域去面向我的毕设--是时候学习一下node.js node.js基础 对于JavaScript ES6的基本语法我就直接跳过了,我们说说node端的js与web端的js的不同,node与php的区别. node完全的单线程 php语言本身为单线程,但是在响应用户的http请求时,借助apache可以生成多个线程,即每一个请求都是一个线程,线程之间是不共享变量的. js语言本身也和php一样…
模块 一.定义: 模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能), 本质就是.py结尾的python文件(文件名:test.py,对应模块名:test) 包:用来从逻辑上组织模块的,本质就是一个目录(必须带有一个__init__.py的文件) 二.导入方法 import module_alex, 调用:print(module_alex.name) module_alex.say_hello() 导入多个模块:import module1_name,import m…
个人总结:读完这篇文章需要30分钟 http2部分很有学习价值,可以好好看.  用node搭建TCP服务器 用node搭建HTTP服务器 用node文件fs模块对文件读取,并用流的方式写入 用url路径模块,完成了node路由 path模块判断文件类型 用gzip对文件进行压缩 浏览器缓存协议的实现 node处理跨域 https的node服务器的搭建 http2的node服务器的搭建 *n*node的事件机制: //events 模块只提供了一个对象: events.EventEmitter /…
Node.js 新闻 nw.js 前端开发桌面应用 内容 node.js实战 照例提供百度云链接,本来以为是实战系列的那本,但不是,不过这本也不错 链接:https://pan.baidu.com/s/1HC2Vhv2EwnYJs0htDTpQTg 提取码:wws9 菜鸟教程至事件循环 随手笔记 img Node核心技术 告诉Node去做某件事情,并且完成后告诉node传送给谁 第一个应用 var http = require('http'); http.createServer(functio…
上一篇基础实现的功能是客户端canvas作图,导出dataURL从而实现图片信息推送,下面具体讲下服务端的配置及客户端的配置同步 首先先画一个流程图,讲下大概思路 <canvas id="container" width="300px" height="200px"></canvas> <img id="aaa" width="300px" height="200px…
经过惨淡的面试,也是知道了自己的不足,刚好最近在学习node,心中便有了做一个web版的你画我猜的想法 首先说下思路,在做准备工作的时候,有两个大概的思路: 1.规定一块div,捕捉鼠标事件,动态生成position absolute,长宽1px的红色小div,这样可以模拟出划线的轨迹,做一个long polling,不断获取DOM结构,推送到socket端口,然后再广播给所有客户端 2.利用canvas作图,将canvas的数据推送到socket端口,广播所有客户端 其实之所以有两种想法,无非…
NodeJs中谈及较多的可能就是Stream模块了,先写一个简单的ajax回调 $.post("index.php",{data:'aaa',order:'ccc'},function(data){ $("#a").html(data); }) 通过post php文件得到回调数据,并进行DOM操作,这行简单的代码在初学者百分之八十的项目中是可行的,包括在我接触Stream之前也是这样认为的,那么问题来了,假如我们这边的data是由php多处输出拼接而成的,数据量极…
//Node.js标准库提供了http模块,其中封装了一个高效的http服务器和一个简易的http客户端 //http.Server是一个基于事件的HTTP服务器,它的核心由Node.js下层c++部分实现,而接口由//Javascript封装,兼顾了高性能与简易性 //http服务器 var http = require('http'); http.createServer(function(req,res){ res.writeHead(200,{'Content-Type','text/h…
scikit-learn 的 datasets 模块包含测试数据相关函数,主要包括三类: datasets.load_*():获取小规模数据集.数据包含在 datasets 里 datasets.fetch_*():获取大规模数据集.需要从网络上下载,函数的第一个参数是 data_home,表示数据集下载的目录,默认是 ~/scikit_learn_data/.要修改默认目录,可以修改环境变量SCIKIT_LEARN_DATA.数据集目录可以通过datasets.get_data_home()获…
1.python模块 如果你退出 Python 解释器并重新进入,你做的任何定义(变量和方法)都会丢失.因此,如果你想要编写一些更大的程序,为准备解释器输入使用一个文本编辑器会更好,并以那个文件替代作为输入执行.这就是传说中的 脚本.随着你的程序变得越来越长,你可能想要将它分割成几个更易于维护的文件.你也可能想在不同的程序中使用顺手的函数,而不是把代码在它们之间中拷来拷去. 为了满足这些需要,Python 提供了一个方法可以从文件中获取定义,在脚本或者解释器的一个交互式实例中使用.这样的文件被称…
本文同步自我的个人博客:http://www.52cik.com/2015/12/03/learn-node-fs.html 最近看到群里不少大神都开始玩 node 了,我感觉跟他们步伐越来越大了, 为了追逐他们的步伐,必须把 node 技能 get 起来. hello world! node 这货,接触也有快2年了吧,不过1年前才开始用,仅仅是用而已. 因为那时候接触 grunt 以及后来的 gulp 然后渐渐的熟悉了 node. 当时的 node 官网,首页就是一个简单的 http 例子.…