diff --git "a/\344\276\257\345\235\244\351\241\272/20240229-Node\345\256\211\350\243\205.md" "b/\344\276\257\345\235\244\351\241\272/20240229-Node\345\256\211\350\243\205.md" new file mode 100644 index 0000000000000000000000000000000000000000..ea22f21584160420f650660d30bea1e8461f5163 --- /dev/null +++ "b/\344\276\257\345\235\244\351\241\272/20240229-Node\345\256\211\350\243\205.md" @@ -0,0 +1,41 @@ +## 安装Node.js和npm + 由于Node.js平台是在后端运行JavaScript代码,所以,必须首先在本机安装Node环境。 + +### 安装Node.js + - 从Node.js官网下载对应平台的安装程序,安装完成后,在Windows环境下,请打开命令提示符,然后输入node -v,如果安装正常,你应该看到类似于v7.6.0这样的输出 + + - 继续在命令提示符输入node,此刻你将进入Node.js的交互环境。在交互环境下,你可以输入任意JavaScript语句,例如100+200,回车后将得到输出结果。 + + - 要退出Node.js环境,连按两次Ctrl+C。 + +### npm是什么? +npm其实是Node.js的包管理工具(package manager)。 + - npm已经在Node.js安装的时候顺带装好了。我们在命令提示符或者终端输入npm -v,应该看到类似的输出: + +C:\>npm -v +4.1.2 +如果直接输入npm,你会看到类似下面的输出: + +C:\> npm + +Usage: npm + +where is one of: + +### Npm的一些常用指令: + +1. npm -v :查看npm当前版本 + +2. npm install :会根据项目中的package。json文件自动下载项目所需的全部依赖 + +3. npm install -g npm :将npm更新到当前最新版本 + +4. npm update 包名:更新指定包 + +5. npm uninstall 包名:卸载指定包 + +6. npm config list:查看配置信息 + +7. npm init -y :初始化一个新项目 + +8. npm init -h :查询帮助 \ No newline at end of file diff --git "a/\344\276\257\345\235\244\351\241\272/20240301-\346\250\241\345\235\227.md" "b/\344\276\257\345\235\244\351\241\272/20240301-\346\250\241\345\235\227.md" new file mode 100644 index 0000000000000000000000000000000000000000..e8187d22ae61ce26f54c6e5e44e10c7e8fb85205 --- /dev/null +++ "b/\344\276\257\345\235\244\351\241\272/20240301-\346\250\241\345\235\227.md" @@ -0,0 +1,26 @@ +## 模块 +在Node环境中,一个.js文件就称之为一个模块(module)。 + - 例如,我们编写了一个hello.js文件,这个hello.js文件就是一个模块,模块的名字就是文件名(去掉.js后缀),所以hello.js文件就是名为hello的模块。 + ``` + function fn(){ + log(...); + module.exports=fn;//fn可以是对象函数等 + } + ``` + ``` + let fn = require('./路径'); + fn(); + ``` + +## 结论 + - 要在模块中对外输出变量,用: +``` +module.exports = variable; +``` + - 输出的变量可以是任意对象、函数、数组等等。 + + - 要引入其他模块输出的对象,用: +``` +var foo = require('other_module'); +``` + - 引入的对象具体是什么,取决于引入模块输出的对象。 diff --git "a/\344\276\257\345\235\244\351\241\272/20240302-\345\237\272\346\234\254\346\250\241\345\235\227.md" "b/\344\276\257\345\235\244\351\241\272/20240302-\345\237\272\346\234\254\346\250\241\345\235\227.md" new file mode 100644 index 0000000000000000000000000000000000000000..770900c02c51e4c273e2850d27008de298b38708 --- /dev/null +++ "b/\344\276\257\345\235\244\351\241\272/20240302-\345\237\272\346\234\254\346\250\241\345\235\227.md" @@ -0,0 +1,70 @@ +## 基本模块 + +### global +在Node.js环境中,唯一的全局对象,进入Node.js交互环境可以直接输入: +``` +global.console.log(44); +conole.log(33); +``` + +### process +process是Node.js提供的一个对象,代表当前的Node.js进程 +``` +console.log(process) +``` + +## 文件系统模块 + +### fs + +Node.js内置的fs模块就是文件系统模块,负责读写文件。 + +和所有其它JavaScript模块不同的是,fs模块同时提供了异步和同步的方法。 + + - 回顾一下什么是异步方法。因为JavaScript的单线程模型,执行IO操作时,JavaScript代码无需等待,而是传入回调函数后,继续执行后续JavaScript代码。 + + - 而同步的IO操作则需要等待函数返回 + + +### 异步读文件 +按照JavaScript的标准,异步读取一个文本文件的代码如下: +``` +'use strict'; + +var fs = require('fs'); + +fs.readFile('sample.txt', 'utf-8', function (err, data) { + if (err) { + console.log(err); + } else { + console.log(data); + } +}); +``` +请注意,sample.txt文件必须在当前目录下,且文件编码为utf-8。 + +异步读取时,传入的回调函数接收两个参数,当正常读取时,err参数为null,data参数为读取到的String。当读取发生错误时,err参数代表一个错误对象,data为undefined。这也是Node.js标准的回调函数:第一个参数代表错误信息,第二个参数代表结果。 + + +由于err是否为null就是判断是否出错的标志,所以通常的判断逻辑总是: +``` +if (err) { + // 出错了 +} else { + // 正常 +} +``` + +### 写文件 + +将数据写入文件是通过fs.writeFile()实现的,追加写入 +``` +'use strict'; + +var fs = require('fs'); + +fs.writeFile('output.txt', '顺', '{flag:a}',function (err) { + console.log(err) +}); +``` +writeFile()的参数依次为文件名、数据和回调函数。 \ No newline at end of file