nodejs学习第一天之模块
1.运行js文件

2.node 与 js 的区别
相同:数据类型,语法结构,对象 等基本一致
不同:在js中的顶层对象window 在node中没有在node中 顶层对象为global对象 其不对外进行访问等等 在js中定义一个a变量是能够用window.a访问的 但在node中定义一个a变量是不能用global.a(会返回undefined)变量访问的
3.模块的概念
一个文件就是一个模块 每个模块都有自己的作用域
我们使用var来申明的一个变量,他并不是全局的而是属于当前模块下

Console.log(__fillname)打印的是当前文件被解析过后的绝对路径;
Console.log(__dirname)打印的是当前模块文件所在目录的绝对路径,该属性不是全局的,而是模块作用域下的
3.1模块加载系统
在node中不允许用script标签加载模块 如果要加载模块使用require(‘模块路径’)

其中路径./不带的话node会加载node中的核心模块
3.2node文件加载机制
1.首先按照加载的文件名进行查找
2.如果没有找到会在文件名后面加上.js的后缀进行查找
3.如果还没有找到会在文件名后面加上.json的后缀进行查找
4.如果还没有找到会在文件名后面加上.node进行查找
5.如果还没有找到会报错
4.如何在本模块访问另外一个模块定义的局部变量
1.通过global变量添加 (不推荐使用)
2.通过module(保存和提供一些和当前模块有关的一些信息)对象,module对象中有一个子对象:exports对象 我们可以通过这个对象把一个模块中的局部变量对象提供访问
3.
4.在模块作用域,还有一个模块的作用域对象,exports,它其实就是module.exprots

5.global下的对象
1.progress对象:可以查看当前进程
1.1progress对象下的最重要一个对象stdin、stdout标准输入输出流(IO)通常称为I/O操作 提供了操作输入数据和输出数据的方法

1.2默认情况下,输入流是关闭的,要监听输入数据流,首先要开启输入流

1.3简单的数据加减

本人这是第一次发博客,如果有写的不对的地方还请大牛们指正,以后还会不定期的更新关于nodejs的后续学习内容,有希望了解的或者是有独到见解的可以评论我
nodejs学习第一天之模块的更多相关文章
- 【nodejs学习】0.nodejs学习第一天
1.模块 大一点的程序都需要模块化,nodejs也不例外,代码放到不同的文件中,每一个文件就可以是一个模块,文件路径名就是一个模块名.每个模块中包含三个预先定义的变量: 1.require:用于在当前 ...
- NodeJS学习笔记之MongoDB模块
其中还有,nodejs远程连接mysql数据库 一,开篇分析 这篇属于扩展知识篇,因为在下面的文章中会用到数据库操作,所以今天就来说说它(Mongodb模块). (1),简介 MongoDB是一个基于 ...
- nodejs学习第一天
//按照nodejs文档上第一页的例子敲了一遍运行了 迷茫 先这样吧 慢慢来 const http = require('http'); const host = '127.0.0.1'; const ...
- NodeJs学习日报day5——导入模块
const { match } = require("assert") function dateFormat(dataStr) { const dt = new Date(dat ...
- NodeJS学习笔记 进阶 (12)Nodejs进阶:crypto模块之理论篇
个人总结:读完这篇文章需要30分钟,这篇文章讲解了使用Node处理加密算法的基础. 摘选自网络 Nodejs进阶:crypto模块之理论篇 一. 文章概述 互联网时代,网络上的数据量每天都在以惊人的速 ...
- NodeJS学习笔记之Connect中间件模块(一)
NodeJS学习笔记之Connect中间件模块(一) http://www.jb51.net/article/60430.htm NodeJS学习笔记之Connect中间件模块(二) http://w ...
- nodeJS学习(9)--- nodeJS模块:exports vs module.exports
模块简介: 通过Node.js的官方API可以看到Node.js本身提供了很多核心模块 http://nodejs.org/api/ 这些核心模块被编译成二进制文件,可以 require('模块名') ...
- Python学习-第一天-函数和模块的使用
目录 Python学习-第一天总结 print输出的一种简单格式 函数参数之可变参数 模块管理函数 if else语句的单行实现(简洁) 变量作用域 函数书写格式 Python学习-第一天总结 pri ...
- Nodejs学习笔记(1) Nodejs安装+借助express模块简单部署服务器
1 安装 1.1 下载和安装 1.2 什么是REPL?如何使用? 1.3 npm对单一模块的安装和删除功能 1.4 通过package.json自定义模块(安装模块) 1.5 设置全局目录 2 部署网 ...
随机推荐
- oracle11g手工建库
1.设置环境变量 [oracle@HE3~]$ vi .bash_profile exportPATH exportEDITOR=vi exportORACLE_SID=orcl exportORAC ...
- context.Session[“xxx”]详解
1.在aspx和aspx.cs中,都是以Session[“xxx”]=”aaa”和aaa=Session[“xxx”].ToString()进行读写.而在ashx中,Session都要使用contex ...
- permeation开篇
学习方法: To follow the path look to the master follow the master walk with the master see through the m ...
- 抓包分析YY音频
YY的音频数据传输是P2P协议,音频的编码为AAC,下面抓去的音频编码的信息和频谱信息. 音频编码为AAC,采样为44K,码率24kb/s.音频编码在24kb/s码率能达到15K的音质.值得大家学习啊 ...
- svn git协同管理
项目开发过程中总有一些奇奇怪怪的需求出现. 我们的项目管理是使用SVN的,用SVN是历史原因,无法整个项目向Git切换.由于我需要管理SVN,做一些代码合并工作.每次合并都会遇到SVN代码需要对比查看 ...
- 基于UDP协议的socket通信
服务器端: 1.创建DatagramSocket,指定端口号 2.创建DatagramPacket 3.接收客户端发送的数据信息 4.读取数据 客户端: 1.定义发送信息 2.创建DatagramPa ...
- Webappbuilder开发快速预览
Webappbuilder开发快速预览 by 李远祥 Webappbuilder for ArcGIS 是由ArcGIS JavaScripit API和dojo创建的,它允许通过创建自己的widge ...
- Struts2的概述和入门
忽如一夜春风来,千树万树梨花开 上节我们说到,JAVAEE的三层架构,即web层,service层,dao层.hibernate是应用在dao层的.而我们现在所学的Struts2是应用在web层.St ...
- fir.im Weekly - 可能是 2017 最好的 Swift 学习资源
春节假期刚结束,一大批新鲜干货就来了.@故胤道长 分享了一份开源 Swift30 Projects ,内含 30 个小App,更新至 Swift 3.0,目前更迭的这个版本更注重代码规范和架构设计,且 ...
- 手动加支付宝遇到的错误--iOS
前言 之前调通了支付宝demo,开始往自己工程拖东西吧,我为什么觉得我可能把所以的问题都遇到了呢+_+,赶紧把问题记录下来 不然下次弄还费劲,加一句,要不真的用ping++吧