nodejs-day01 基础语法 模块化开发

nodejs-day01

1.node到底是什么?

node就是一个js代码的运行环境。基于chrome v8引擎的运行环境。

2.环境变量path的作用?

告诉操作系统有一些目录,这些目录中有需要执行的程序。

当我们去执行某些程序的时候(比如说node),就先到操作系统的默认执行目录中查找这个程序

如果没有找到,就继续去path环境变量中查找是否有这个程序可以执行。

3.javascript的组成

在浏览器中,javascript是由ecmascript ,dom, bom 组成

在nodeJS环境中,javascript是由ecmascript , nodeJS提供的api 组成

在nodeJS中,无法使用window,document,无法使用dom,bom相关的操作。

能使用nodeJS提供的一些方法

在nodeJS中,也有一个全局对象,叫global,在global对象中有方法:
console.log()
setTimeout()
clearTimeout()
setInterval()
clearInterval()

4.模块化开发

在nodeJS中,认为一个js文件就是一个模块。

一个js文件我们可以去编写一个功能,如果项目需要很多功能,项目就需要很多的js文件。

js文件与js文件之间可能存在依赖关系,假设a.js文件需要使用b.js文件中的一个函数sayHi。

在a.js文件要如何去使用b.js文件中的内容?

在b.js文件中要如何告诉a.js文件哪些内容可以使用。

module.exports.sayHi = sayHi;

在a.js文件中需要去导入b.js文件的内容。

let b = require(’./b.js’);

在b.js文件中导出需要让别人使用的sayHi(可以是变量,也可以是函数)

5.导入和导出

在nodeJS中,使用exports进行导出操作,这个操作还有一个叫法,叫做暴露。

在nodeJS中,使用require(‘导入的文件路经与文件名’)进行导入操作。

如果一个模块没有到处任何成员,那么他被导入的时候是一个空对象。
练习:

创建一个sub.js文件,在这个文件中提供一个函数,如下

function sub(num1,num2){

    return num1-num2;

}

在sub.js中,去导出sub函数,供别人使用

常见一个test.js文件,在文件中导入sub.js,并调用sub函数去计算100-99.

补充:

如果exports和module.exports同时存在,以module.exports为准。

只要你不混用,不会出现问题.

exports对象不要直接赋值成另外一个对象,比如:

exports = {

    name:"jack"

}

如果真的需要这样做,必须使用module.exports来进行操作,比如:

module.exports = {

    name:"rose"

}

建议:导出的使用直接使用module.exports.

6.系统模块的使用

A.如果想要使用nodeJS提供的系统模块,我们必须要使用require进行系统模块的引入。

const fs = require("fs");

//fs的reasdFile方法

//readFile的第一个参数是需要读取的文件路径

//readFile的第二个参数是需要读取的文件的编码格式

//readFile的第三个参数是一个回调函数,当文件读取结束之后,将会调用这个函数

fs.readFile("./test.txt","utf8",(err,doc)=>{

    //回调函数的第一个形参是错误对象,如果读取的时候没有任何问题,错误对象将会为null
    //如果发生了错误,err将会是一个错误对象,可以通过err.message获知发生了什么错误
    
    //回调函数的第二个参数是读取的内容。

})

fs.writeFile("文件路径","需要写入的内容",(err)=>{

    //只要err 为null ,说明写入就是成功

})

B.path的模块的使用:主要使用path模块进行路径的拼接

const path = require(“path”);
path.parse() 解析路径 获取路径信息
path.join(“路径1”,“路径2”…) 路径拼接
不同系统路径分隔符不统一
防止路径拼接少写斜杠问题
使用绝对路径进行路径拼接 __dirname(获取当前文件的根目录路经)

7.相对路径和绝对路径

在nodejs中,相对路径不再是相对于当前写代码的文件去查找内容,

而是相对于终端运行的目录进行相对查找。

因为这样,可能会导致执行目录不正确进而导致找不到需要执行的文件。

建议大家使用绝对路径的形式。

__dirname : 当前编写js代码的文件所在的绝对路径

var myPath = path.join(__dirname, ‘test.txt’);

7.第三方包(模块)的安装

系统提供的模块没有办法满足所有用户的需要,可以到 https://www.npmjs.com/ 查找符合我们需要的第三方包

下载第三方包满足编程需求。

可以使用npm( node package manager )工具来下载第三方包

npm install 第三方包的名字
如:npm install date-format

可以简化成:

npm i date-format

删除第三方包

npm uninstall date-format

可以进行全局安装,只需要添加-g参数即可全局安装:

npm i less -g

全局安装nrm

npm i nrm -g

查看nrm下载点

nrm ls

切换下载点(切换到淘宝镜像)

nrm use taobao

项目描述文件package.json

项目描述文件,记录当前项目信息,例如项目名称、版本、作者、github地址、当前项目依赖了哪些第三方
模块,目的是方便他人了解项目信息,下载项目依赖文件。
该文件一般被放置在项目的根目录下,使用npm init命令生成。
项目依赖
在项目的开发阶段和线上运营阶段,都需要依赖的第三方包,称为项目依赖。
使用 npm install 包名 命令下载的文件会默认被添加到package.json文件的dependencies字段中。
开发依赖
在项目的开发阶段需要依赖,线上运营阶段不需要依赖的第三方包,称为开发依赖。
使用 npm install 包名 --save-dev 命令将包添加到package.json文件的devDependencies字段中。

为什么记录依赖?

  1. Node.js中下载的第三方包文件拥有非常多的细碎文件,将项目通过移动硬盘传递给别人时传输速度非常慢.
  2. 使用git工具管理项目时,不希望git管理node_modules文件夹,也不会将其上传到github中。当其他人获取到项目时,可以在项目根目录下执行 npm install 命令,npm工具会自动去package.json文件中查
    找项目依赖文件并下载.
  3. 当项目上线以后,可以直接运行 npm install --production 下载项目依赖,避免下载项目开发依赖。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值