Node基础

课程大纲

主要内容:node基础

1. node.js概念,安装,使用,NPM概念

2. 模块化,模块定义,模块的导出,模块导入,下载模块(重点)

3. node自带模块:http模块,fs模块(重点)

package.json项目清单文件。

可以让其他开发者快速了解一下项目的基础情况,

如:项目版本号,项目名称,如何启动项目,项目的依赖包

安装模块包:

npm install XXX --save || npm i XXX -S  #安装生产依赖

npm install XXX --save-dev || npm i XXX -D  #安装开发依赖

npm install || npm i  #根据package.json把丢失模块包全部安装。

如果速度慢,建议使用cnpm,安装cnpm的命令:npm i cnpm -g

其中g===global表示全局安装,cnpm命令在所有的文件夹中都可以使用

node_modules项目依赖的模块包,删除后,再次安装重新生成。

package-lock.json是安装的模块包记录及依赖关系,删除后,再次安装重新生成。

dependencies:生产依赖(项目在运行期间,模块包有用。)

devDependencies:开发依赖(项目在开发过程中,模块包有用,项目开发完了,模块没用了。)


知识点总结

1. 什么是node.js?特点?应用场景?

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时。

Node.js 是运行在服务器端的 JavaScript。

Node.js 是一个事件驱动、非阻塞式I/O模型。

Node.js 非常适合运行在分布式设备的数据密集型实时应用。

Chrome V8 引擎:解析 JavaScript 语法的引擎,是 JavaScript 在服务器端运行的“发动机”。

非阻塞式I/O:异步执行,不阻塞代码,体验好的输入和输出操作(Input/Out)

async, sync

2. 下载,安装

下载地址:http://nodejs.cn/download/

https://nodejs.org/en/

建议下载长期稳定版

下载后双击安装,安装成功后,打开cmd检查安装是否成功:node --version

3. 什么是NPM?

Node Package Manager(Node包管理器),通过NPM可以下载,上传模块包到NPM市场。

NPM不需要单独安装,随着node的安装,会自动安装到电脑中。

NPM市场:https://www.npmjs.com/

NPM市场中有大量的模块包供开发者使用。从国外的NPM市场下载某些模块时速度慢,建议使用CNPM。

4. 什么是模块?

Node.js中遵循模块化编程规范(CommonJS规范),把很多具体的功能点封装成一个模块,其他模块想使用时,需要引入,再使用。

模块化优势:

隔离了每个js文件的作用域,可避免命名冲突,减少命名空间污染。

降低各个js文件的耦合性,更好地分离、按需加载

CommonJS模块化规范重要语法:

exports|module.exports

require()

在node.js模块来源包括:

a. node安装后就自带的模块,如http,fs等。

b. 自己定义的模块。

c. 从npm市场下载的模块。

下载模块:

npm install XXX --save|--save-dev

其中--save可缩写成-S,--save-dev可缩写成-D

其他规范了解:

CommonJS规范

AMD(Asynchronous Module Definition异步模块定义)

CMD(Common Module Definition公共模块定义)

ES6模块化

5. node使用方式

交互命令行,在cmd中输入node回车,然后可以进行js编码。(不推荐)退出交互命令行:按两下ctrl+C

把代码编写.js文件中,让node去运行此文件。node xxx.js

课外阅读:

http模块:

https://blog.csdn.net/weixin_43482353/article/details/108254628

fs模块:

https://blog.csdn.net/qq_30100043/article/details/52820165

模块化编程规范:

https://blog.csdn.net/weixin_45709829/article/details/124138115

https://zhuanlan.zhihu.com/p/446513619

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容

  • node环境安装 1.什么是Node.js?Node.js 是一个基于"Chrome V8 引擎" 的JavaSc...
    Gmn_微双阅读 210评论 0 1
  • nodejs是什么 node.js 是一个基于 Chrome V8 引擎的 JavaScirpt 运行环境。 no...
    追彩虹的小狐狸阅读 289评论 0 1
  • node.js node.js是基于v8引擎的JavaScript运行环境 终端快捷键 使用↑键可以快速定位到上一...
    Zindex阅读 502评论 0 1
  • Node 简介 客户端的JavaScript是怎样的 什么是 JavaScript?是一个脚本语言运行在浏览器(浏...
    jie_han阅读 223评论 0 3
  • 为什么React Native需要Node.js? 提供React Packager的运行环境提供npm包管理器来...
    努力生活的西鱼阅读 791评论 0 0