文章目录
1.介绍
node.js是一个JavaScript的开发环境
它是基于谷歌v8引擎开发的
可以把前端JavaScript语言用于服务器上
使得可以让JavaScript使用在后端开发程序上
2.用途
- 前后端数据交互
- 独立编写api接口
- 动态网站开发
3.nodejs下载和运行
略
4.模块化开发,包和commonJS
为什么要模块化开发?
- 原生js缺点:
依赖关系:定义的js要引用在调用的js之前
命名空间:不同js文件之间相同的方法名会被覆盖,只会以最后一个引用的为准
代码组织:定义出来的方法没有隐蔽性可以被任何人引用
- 模块化开发的优点:
在定义时只对外暴露接口,使用时在js中引入
在nodejs开发中,把独立的功能单独放在一个个js文件,需要时在引用
说说nodejs的模块化规范?
commonJS 规范中的module子规范,
CommonJS模块规范主要分为三部分:模块引用、模块定义、模块标识。
5.npm
概念
npm:node package manager 包管理工具,可用于加载别人写好的模块
这些模块相互引用,最后形成一个完整的功能,组合在一起就形成了包(package)
常见API
1. npm -v:查看 npm 版本
2. npm init:初始化后会出现一个 Package.json 配置文件,可以在后面加上 -y,快速跳到问答界面
3. npm install:会根据项目中的 package.json 文件自动给下载项目中所需的全部依赖
步骤
先创建package.json文件(帮助记录包的信息,以及已下载的包的信息)
初始化命令是 node init
package name:给包起名字
下载包:npm i+包名
package.json文件的作用
可以看到package.json已经同步更新(这个文件的作用就是记录自己的信息以及记录引用了别人的哪些包,即依赖)
packages-lock.json文件的作用就是锁定别人引用你的包时的版本,免得你写的包更新了,造成依赖混乱
通常下载一个包后会多出来几个文件夹,这几个文件夹就是你下载的包,它所依赖的其他包
6.ES模块化写法(重点)
6.1.初始化项目
命令:npm init
生成package.json文件
6.2.创建模块文件
moduleA.js
const moduleA = {
getName() {
console.log("我叫张三");
}
};
export default moduleA;
6.3.引入模块化文件
test.js
import moduleA from './moduleA.js'
moduleA.getName();
命令:node test.js
6.4. 解决报错:SyntaxError: Cannot use import statement outside a module
在package.json文件中添加代码:
"type": "module",//默认是commonjs
6.5.成功
再次输入命令:`node test.js
输出:我是张三