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 部署网 ...
随机推荐
- JAVA中Singleton的用法
Java Singleton模式属于管理实例化过程的设计模式家族.Singleton是一个无法实例化的对象.这种设计模式暗示,在任何时候,只能由JVM创建一个Singleton(对象)实例. JAVA ...
- java程序的工作原理
Sun公司设计java语言的目标是让Java程序不必经过修改就可以在各种各样的计算机(包括PC机和工作站)上运行.为了实现这一目标,Sun公司提供了一阵Java虚拟机(Java Virtual Mac ...
- 使用Grafana 展示Docker容器的监控图表并设置邮件报警规则
一.Docker 容器监控报警方式 接着上篇文章的记录,看到grafana的版本已经更新到4.2了,并且在4.0以后的版本中,加入了Alert Notifications 功能,这样在对容器 监控完, ...
- 【python基础】 Tkinter 之 几何管理器
Tkinter支持三种几何管理器:网格管理器,包管理器,位置管理器 提示:由于每个管理器都有自己放置小构件的风格,最好不要在同一个容器中的小构件使用多个管理器.可以使用框架作为子容器以获取期望的布局. ...
- LCD驱动移植在在mini2440(linux2.6.29)和FS4412(linux3.14.78)上实现对比(deep dive)
1.Linux帧缓冲子系统 帧缓冲(FrameBuffer)是Linux为显示设备提供的一个接口,用户可以将帧缓冲看成是显示内存的一种映像,将其映射到进程地址空间之后,就可以直接进行读写操作,而写操作 ...
- css3弹性盒子模型——回顾。
1.box-flex属性规定框的子元素是否可伸缩其尺寸. 父元素必须要声明display:box;子元素才可以用box-flex. 语法:box-flex:value; 示例: <style&g ...
- vue1.0学习总结
前言 使用vue已经有三.四个月了,但是只是学着使用了一些基本方法.因为现在的前端框架越来越多(Angular,React...),但是我相信万变不离其宗,很多用法框架之间还是想通的,所以借总结的vu ...
- 使用python制作ArcGIS插件(3)ArcPy的使用说明
使用python制作ArcGIS插件(3)ArcPy的使用说明 by 李远祥 ArcPy 是一个以成功的 arcgisscripting 模块为基础并继承了 arcgisscripting 功能进而构 ...
- Flume使用说明
关于Flume,官方定义如下: Apache Flume is a distributed, reliable, and available system for efficiently collec ...
- c++编程思想(一)--对象导言
回过头来看c++编程思想第一章,虽然只是对c++知识的一个总结,并没有实质性知识点,但是收获还是蛮多的! 下面感觉是让自己茅塞顿开的说法,虽然含义并不是很准确,但是很形象(自己的语言): 1.类描述了 ...