一、对Nodejs的初步的基础认识
1、Nodejs编程基础概要
- Nodejs不是一种独立的编程语言
- Nodejs不是JavaScript框架
- Nodejs是JavaScript的一个运行环境
- node是除了浏览器可以让js运行的
- JavaScript代码 转交给 Chrome下的v8解析引擎 编译为机器码 交给CPU运算最终得到结果
2、Nodejs是干什么的?
- 就是借助
v8引擎实现一个除了浏览器之外运行js的环境 - Node可以作为后端的web服务器开发及网络爬虫开发
- 对文件进行创建、添加
- 编写脚手架命令行工具
- 开发图形界面应用程序开发
3. Nodejs发展历史
- 2008年v8引擎随着Chrome浏览器出现,大大提高了js的运行效率
- 2009年Ryan Dahl,发布了Nodejs项目,借助(参考)v8引擎执行效率,可以使js在操作系统中运行
二、Node环境搭建与基础入门
1.本地搭建node环境?
node 官网: nodejs.org/en 下载对应操作系统的安装包 node无脑安装即可....点击next 安装完成之后命令行 运行
node -v
node --version 查看是否安装成功
2.使用Node.js 运行js代码?
新建一个js文件,命令行执行
node 1.js // node 空格 + 文件名
三、文件操作与模块化
- nodejs操作文件api:
File system
1.读取文件中内容
readFile读取文件内容
var fs = require('fs');
fs.readFile('./1.txt','utf8',function(err,data){
console.log(err);
console.log(data);
})
2.在文件中写入内容
writeFile会将文件中的内容清空&&替换
var fs = require('fs');
fs.writeFile('./1.txt','我写入的内容', function(err){
// err 错误信息 没有执行错误则会输出null
// 这里只有一个参数 成功就是成功了
console.log(err);
})
- 这一段表示会一直向文件中追加内容&&不会替换
var fs = require('fs');
// 1.先读取到文件内容
fs.readFile('./1.txt','utf8', function(err, data) {
if(!err){ // 取反 没有错误的情况
// 2.然后将读取到的内容与写入的内容进行一个拼接
var newData = data + ' 嘿嘿--这是我要追加的内容';
fs.writeFile('./1.txt', newData, function(err) {
if (!err) {
console.log('追加成功');
}
})
}
})
3.模块化
1.require('fs') 到底是什么意思?
1.就像fs就是nodejs中的一个内置模块
2.在文档中看到的API(模块),node都是以模块化的方式引入
3.在代码中想要使用模块就需要用require引入
4.require引入的就是一个模块
2.我们为什么需要模块化?(小记一下面试可能会问到)
1.模块化就是将一个大的模块`拆分成多个小的功能模块`,这些模块是`相互独立`的
2.然后通过`导入导出`的方式进行使用
3.JavaScript 模块化开发规范
CommonJS // 由社区提供的
ADM、UMD // 几乎已经被淘汰
ECMAScript Module // ES6 中提出的模块化规划 2015年
nodejs 2009年发布
四、npm包管理器
1.什么是npm包管理器?
简单说就是对于npm的`第三方工具进行管理`的工具
2.npm包?
nmp包就是封装的功能函数
npm官网:https://www.npmjs.com/ // 这里有市面上几乎所的包 除了 大厂及一些公司内部的包
3.元数据配置文件 package.json
- 管理nodejs项目
npm init
// 初始化生成package.json文件
{
"name": "demo",
"version": "1.0.0",
"description": "",
"main": "1.js",
// 在script是可以配置多种执行命令的例如:打包、启动服务
"scripts": {
"dev": "node a.js", // 就可以在命令行中 使用npm run dev 来执行此文件
},
"author": "",
"license": "ISC" 开源协议
}
npm run dev 执行程序启动
npm install 包名 or npm i 包名 // install可以简写 i