为什么是JavaScript
-
node js 不是因为js 产生的
-
node 选择了js
-
what is node ?
Node.js 是一个基于Chrome V8 引擎的JavaScript运行环境 王者
Node.js使用了一个事件驱动、非阻塞式I/O的模型,使其轻量又高效
- 事件驱动: 任务执行,发布者,订阅者,事件驱动 ( on emit )
- 非阻塞: 执行某一个任务的同时也可以执行其他任务
- 阻塞: 执行某一个任务,这个任务如果没有执行完成,其他任务必须等待
- 同步:
- 异步
- I/O: 输入/输出( 数据库操作,文件系统操作等 )
- 非阻塞I/O模型: 当我们使用Node.js来实现数据库操作、文件系统等操作时,要进行的异步操作,异步操作的核心传统实现方式就是回调函数
Node.js的包管理工具npm,是全球最大的开源库生态系统
-
第三方: 国外的
-
建议: 切换国内的, 淘宝国内镜像源
-
nrm
-
安装cnpm
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
查看是否cnpm安装成功
cnpm -v
-
npm 插件官网:https://www.npmjs.com/
环境配置
Node的安装
nvm安装(有一个类似的工具:nvm)
- Node Version Manager(Node版本管理工具)
- 由于以后的开发工作可能会在多个Node版本中测试,而且Node的版本也比较多,所以需要这么款工具来管理
nvm使用
nvm list 列出当前电脑中所有的Node.js的版本 nvm install version 安装某一个版本的Node.js , 举例: 安装10.12.0版本 nvm install 10.12.0 nvm use version 切换某一个Node.js版本 切换后切记: 要确认Node运行十分正常 node -v npm -v 如果以上两者输出正常,那么久切换成功了 如果不正常呢?换版本下载安装( 必须在8.9+ 以上)
node.js 文件系统
const fs=require(‘fs’)
读取文件:
fs.readFile('test.txt', 'utf8', function(err, data) {
if (err) throw err;
console.log(data);
});
修改文件内容:
const fs = require('fs');
var data = `var a = 10;var b = 8;console.log(a+b);`;
fs.writeFile('abc.js', data, (err) => {
if (err) console.log(err);
console.log('文件写入完毕');
})
更改文件名:
const fs = require('fs');
const path = require('path');
let oldpath = path.join(__dirname, 'abc.js');
let newpath = path.join(__dirname, 'cba.js');
fs.rename(oldpath, newpath, (err) => {
if (err) console.log(err);
console.log('文件名修改完毕');
})
创建新的目录:
const fs = require('fs');
const path = require('path');
var url = path.join(__dirname, 'demo');
fs.mkdir(url, (err) => {
if (err) console.log(err);
console.log('创建完成');
})