node
参考文献:https://vue3.chengpeiquan.com/
初始化
#初始化node项目,根据提示输入项目信息
npm init
#快速初始化,自动生成信息
npm init -y
#以上操作都会生成一个package.json文件
字段名 | 含义 |
---|---|
name | 项目名称,如果你打算发布成 npm 包,它将作为包的名称 |
version | 项目版本号,如果你打算发布成 npm 包,这个字段是必须的,遵循 语义化版本号 的要求 |
description | 项目的描述 |
keywords | 关键词,用于在 npm 网站上进行搜索 |
homepage | 项目的官网 URL |
main | 项目的入口文件 |
scripts | 指定运行脚本的命令缩写,常见的如 npm run build 等命令就在这里配置,详见 脚本命令的配置 |
author | 作者信息 |
license | 许可证信息,可以选择适当的许可证进行开源 |
dependencies | 记录当前项目的生产依赖,安装 npm 包时会自动生成,详见:了解包和插件 |
devDependencies | 记录当前项目的开发依赖,安装 npm 包时会自动生成,详见:了解包和插件 |
type | 配置 Node 对 CJS 和 ESM 的支持 |
其中最后的 type 字段是涉及到模块规范的支持,它有两个可选值: commonjs 和 module ,其默认值为 commonjs 。
- 当不设置或者设置为 commonjs 时,扩展名为 .js 和 .cjs 的文件都是 CommonJS 规范的模块,如果要使用 ES Module 规范,需要使用 .mjs 扩展名
- 当不设置或者设置为 module 时,扩展名为 .js 和 .mjs 的文件都是 ES Module 规范的模块,如果要使用 CommonJS 规范,需要使用 .cjs 扩展名
发布 npm 包
可以通过 npm view
脚本命令的配置
以 Vue CLI 创建的项目为例,它的项目 package.json 文件里就会包括了这样的命令:
其中key可自定义
{
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build"
}
}
这样运行 npm run serve 也可以相当于运行了 vue-cli-service serve 。
新建demo
#创建目录.
mkdir node-demo
#初始化项目.
npm init -y
#在项目下创建一个 index.js 的 JS 文件,可以像平时一样书写 JavaScript ,我们输入以下内容并保存:
console.log('Hello World')
编辑package.json 文件
{
"name": "demo",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"dev": "node index"
},
"keywords": [],
"author": "",
"license": "ISC"
}
#运行
在命令行执行 npm run dev ,可以看到控制台打印出了 Hello World :
用 CommonJS 设计模块
- 删掉 index.js 文件
- 创建一个 src 文件夹,在里面再创建一个 cjs 文件夹
- 在 cjs 文件夹里面创建两个文件: index.cjs 和 module.cjs
目录结构如下:
node-demo
│ # 源码文件夹
├─src
│ │ # 业务文件夹
│ └─cjs
│ │ # 入口文件
│ ├─index.cjs
│ │ # 模块文件
│ └─module.cjs
│ # 项目清单
└─package.json
修改一下 package.json 里面的 scripts 部分
{
"scripts": {
"dev:cjs": "node src/cjs/index.cjs"
}
}
后面我们在命令行执行 npm run dev:cjs 就可以测试我们的 CJS 模块了
模块化机制
在前端工程的发展过程中,不同时期诞生了很多不同的模块化机制,最为主流的有以下几种:
模块化方案 | 全称 | 适用范围 |
---|---|---|
CJS | CommonJS | Node 端 |
AMD | Async Module Definition | 浏览器 |
CMD | Common Module Definition | 浏览器 |
UMD | Universal Module Definition | Node 端和浏览器 |
ESM | ES Module | Node 端和浏览器 |
引用模块
#--save 或者 -S 选项可以将依赖安装到本地,并列为生产依赖。(--save 或者 -S 选项在实际使用的时候可以省略,因为它是默认选项。)
npm install --save <package-name>
#如果添加 --save-dev 或者 -D 选项,可以将依赖安装到本地,并写入开发依赖里。
npm install --save-dev <package-name>
#和生产依赖包不同的点在于,只在开发环境生效,构建部署到生产环境时可能会被抛弃,一些只在开发环境下使用的包,就可以安装到开发依赖里,比如检查代码是否正确的 ESLint 就可以用这个方式安装。
#如果添加 --global 或者 -g 选项,可以将依赖安装到全局,它们将被安装在 配置环境变量 里配置的全局资源路径里。
npm install --global <package-name>
#指定版本,例:npm install vue@2.6.14
npm install <package-name>@<version | tag>
#版本升级
#升级全部包
npm update
#更新指定包
npm update <package-name>
#卸载
#本地卸载
npm uninstall <package-name>
#全部卸载
npm uninstall --global <package-name>
#使用包 例:npm install md5
ts使用
npm i -g typescript
npm i -g ts-node
npm install -D tslib @types/node
评论区