js 格式化输出_对Node.js的认识

428d8ac9c6f19bf2f1a4764e96bb8ae9.png

首先,来确认一下Node是什么?

Node是一个基于Chrome V8引擎的JavaScript的运行环境,它不是一种独立的语言,也不是js的框架,它是除了浏览器之外可以让js运行的环境;

Node.js是一个可以让JavaScript运行在服务端的开发平台,是使用事件驱动,异步非阻塞 I/O

,单线程,跨平台的JS运行环境;

那我们为什么要学习Node呢?他能做什么呢?

1、首先,我们可以使用它打开服务器的黑盒子,然后就是应一些企业的要求,大前端的必备技能!最后就是更好的学习前端的框架!

2、它可以应用于web服务器(!!)、命令行工具、网络爬虫(是一种按照一定的规则,自动抓取网站信息的程序)、桌面应用程序开发等等

注:大家可以参考Node.js 官方文档

7f364d3db38a26b4fa26595c3ee6c798.png
图0.1

REPL环境

node中的REPL环境就类似于浏览器中的Console控制台,可以进行一些代码的测试,检测代码中是否有错误;

85b48d2b08439d619c18ff16159c1e5c.png
图0.2

注:退出REPL环境需要按ctrl+两次c 就可以退出REPL环境,但是在我们写代码的时候,建议使用上图的方法,只需要安装一个一个插件就可以了!

Node中的模块

5846ef6c3538afdcb31363c54c6895a1.png
图0.3

二、核心模块(学习到的)

1、FS模块:node核心模块之一,用于操作文件;

​ 要操作fs模块提供的API,必须用require引入fs模块

​ 语法:const/var fs = require('fs');

2、FS模块常用的属性和方法:

​ 1)文件的读取

​ 首先:引入模块

​ const fs = require('fs');

​ 使用模块的方法读取文件readFile();

​ 语法:readFile(path(读取文件路径)[,option(编码),callback(回调函数)])

​ fs.readFile('./a.txt','utf8',(err,data) => {console.log(1)});

​ 回调函数里面有两个参数err,data,err是错误信息,data是读取文件的内

​ 容,如果readFile的第二个参数没有指定,则返回原始的buffer。

​ 2)文件的写入

​ 首先:引入模块

​ const fs = require('fs');

​ 使用模块方法写入文件writeFile()

​ 语法:writeFile(file,data[,options],callback)

​ 第一个参数:写入文件的路径和文件名

​ 第二个参数:写入的内容,字符串格式

​ 第三个参数:编码,默认是utf8

​ 第四个参数:回调函数,里面传入一个参数err

​ fs.writeFile('./a.txt','你好',err=>{console.log(2)})

写一个例子这样会好看一点:

a3654d262bb9128749ae4e8c4cf683fa.png
例0.0

​例题中涉及的知识点:

js内置对象JSON:JSON是一种语法,用来序列化对象、数组、数值、字符串、布尔值和null。

包管理器npm:node中自带的包(模块)管理工具

1、npm的作用:用来安装第三方模块,比如formidable(文件上传)、art-template(模板样式)、moment(格式化时间)等等

第三方模块下载和安装方式:在终端命令行输出npm install 第三方模块的名称 然后回车就可以了。

node模块化及CommonJS规范

1、CommonJS规范:

0.1、模块定义:一个JS文件就是一个模块,文件名字就是模块名字,模块名字必须符合小驼峰命名规则;

0.2模块导出:为exports对象添加属性值或着为module.exports赋值的方式导出数据;

0.3模块导入:使用require()方法来引入一个模块,引入使用相对路径或者绝对路径,文件的后缀名可以不写;

0.4:没款中的方法和变量的作用域尽在模块内部,每个模块都具有独立的空间,互不干扰;

2、模块加载的顺序和规则

0.0:require引入模块的时候,如果有路劲是指加载自定义模块,没有路径是指加载核心模块和第三方模块;

0.1:没有路径的加载模块的顺序

第一步,先在缓存中加载=》

而核心模块和第三方模块的加载顺序是

第二步,先加载核心模块

第三步,核心模块中没有,加载第三方模块

第三方模块加载规则:

​先在当前文件的模块所属目录去找node_module目录;

​如果找到,则去该目录中找模块名的目录;

​如果找到该目录,则找该目录中的package.json文件;

​如果找到package.json文件,则找到该文件的main属性;

​如果找到main属性,则拿到该属性对应的文件;

​如果找到该目录之后,

​ 1)没有package.json

​ 2)有package.json没有main属性

​ 3)有main属性,但是指向的路径不存在

​ 4)node会默认去看一下该目录中有没有Index.js文件

​如果找不到index.js或者找不到该目录或者找不到node_modules;

​则进入上一级目录找node_modules查找;

​如果上一级还找不到,继续向上,一直找到当前文件所属磁盘的根目录;

​如果磁盘根目录还没有找到,直接报错。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值