CommonJs自定义模块的使用/npm 包 第三方模块/package.json版本信息

简介: CommonJs自定义模块的使用/npm 包 第三方模块/package.json版本信息

CommonJs弥补JavaScript没有标准库的缺陷CommonJS是模块化的标准 nodeJs就是CommonJS的实现

Node中的模块分为2大块

**一个是核心模块(HTTP URL FS)可以直接引入使用 上个博客讲了HTTP URL内置模块
二个是CommonJS自定义模块(文件模块)**

**

1.自定义模块的使用

:**

1.把公共的功能抽离为一个独立的js模块 在模块使用export 或者module.export暴漏出属性或者方法
2.需要使用这个模块的文件内require引入这个模块就可直接使用

导出和引入
导出某个方法建议exports 导出一个对象建议module.exports

使用方法举例:

function formatApi(api){
    return 'http://www.csdn.com'+api;
}
exports.formatApi=formatApi;//导出exports下的方法formatApi值为formatApi函数 
exports.formatApi=function(){return 'http://www.csdn.com'+api;}
module.exports=formatApi  导出formatApi函数
const tools = require('./module/tools')
//exports.formatApi=formatApi导出
console.log(tools )//{ formatApi: [Function: formatApi] }  
//exports.formatApi=function(){return 'http://www.csdn.com'+api;}
console.log(tools )//{ formatApi: [Function (anonymous)] }
//module.exports=formatApi导出
console.log(tools )// [Function: formatApi]
在这里插入代码片

引入node_modules文件

const  axios =require('/node_modules/axios/index')
简写为:
const  axios =require('axios')//默认访问node_modules下的文件 自动找axios的index.js

注意:如果node_modules下的文件不是axios/index.js命名 而是axios/axios.js 那么不会自动找到

**

解决:安装npm init --yes 在该文件夹下生成package.json文件即可找main对应的文件路径

**
在这里插入图片描述

2.npm 包 第三方模块

1.npm:
https://www.npmjs.com/
注意事项:

**虽然npm安装 node 不使用--save也会把包版本存放在dependencies形成依赖记录 但是cnpm安装确不会
npm install xx - -save (建议加上- -save这样会在package.json的dependencies形成依赖记录
到时候删除node_modules的时候 直接npm i 或者cnpm i 即可安装之前完好的node_modules**)

- -save 和- -save-dev的区别:

**- -save 会把依赖包名称添加到 package.json 文件 dependencies 键下,- -save-dev 则添加到
package.json 文件 devDependencies 键下.dependencies是运行时依赖,devDependencies是开发时的依赖。即devDependencies 下列出的模块,是我们开发时用的
总而言之:
1、--save-dev:只是开发和打包时会用到的,但实际上线并不需要
2、--save:除了开发需要,实际上线的时候也需要的**
在这里插入图片描述

npm 命令

**npm -v查看npm的版本
npm install xx--save npm安装工具包
npm uninstall xx卸载工具包
npm list 查看当前目录下已安装的包 (包内还会依赖其他)**
**npm info 模块 查看当前包的信息
npm install xx@4.67 指定版本安装**

拓展: npm 和bower 的区别

**npm是进行后端开发中,使用的模块安装工具,而bower,是前端的模块安装工具。
bower 的话,从一开始,就是专门为前端表现设计的包管理器,一切全部为前端考虑的。npm 和 bower 的最大区别,就是 npm 支持嵌套地依赖管理,而 bower只能支持扁平的依赖(嵌套的依赖,由
程序员自己解决)。
嵌套地依赖管理: 就是一个套一个牵连比较大
扁平的依赖:同级别的意思 不涉及嵌套**

在这里插入图片描述
2.第三方模块的使用方式:

**第一步:npm install silly-datetime --save
第二步:引入包 require('install silly-datetime')
第三步:下载你所使用的包 进入该官网查看使用步骤**
在这里插入图片描述

3.package.json

项目的所需各种模块以及配置信息(名称 版本 许可证等元数据)
1.创建package.json**

npm init --yes

2.信息版本号:**

在这里插入图片描述

相关文章
|
2月前
|
JSON 算法 vr&ar
目标检测笔记(五):查看通过COCOEvaluator生成的coco_instances_results.json文件的详细检测信息,包含AP、AR、MR和DR等
本文介绍了如何使用COCO评估器通过Detectron2库对目标检测模型进行性能评估,生成coco_instances_results.json文件,并利用pycocotools解析该文件以计算AP、AR、MR和DR等关键指标。
121 1
目标检测笔记(五):查看通过COCOEvaluator生成的coco_instances_results.json文件的详细检测信息,包含AP、AR、MR和DR等
|
28天前
|
存储 JSON 监控
公司用什么软件监控电脑:JSON 在监控信息交互中的应用探索
在现代企业管理中,电脑监控软件广泛应用于保障信息安全和提升工作效率。JSON(JavaScript Object Notation)因其简洁和易读性,在监控信息的收集、传输和处理中扮演着关键角色。本文介绍了 JSON 在监控数据结构、信息传输及服务器端处理中的具体应用,展示了其在高效监控系统中的重要性。
31 0
|
2月前
|
资源调度 前端开发 安全
前端实战:基于Verdaccio搭建私有npm仓库,轻松上传与下载自定义npm插件包
前端实战:基于Verdaccio搭建私有npm仓库,轻松上传与下载自定义npm插件包
99 0
|
7月前
|
JavaScript 前端开发
🚀自定义属于你的脚手架并发布到NPM仓库
🚀自定义属于你的脚手架并发布到NPM仓库
|
4月前
|
缓存 JavaScript 前端开发
成功解决:npm 版本不支持node.js。【 npm v9.1.2 does not support Node.js v16.6.0.】
这篇文章介绍了如何解决npm版本与Node.js版本不兼容的问题,提供了查看当前npm和Node.js版本的步骤,以及如何根据Node.js版本选择合适的npm版本并进行升级的详细指导。
成功解决:npm 版本不支持node.js。【 npm v9.1.2 does not support Node.js v16.6.0.】
|
4月前
|
Windows
NPM——通过commitlint来规范commit的提交信息
NPM——通过commitlint来规范commit的提交信息
45 0
|
6月前
Node历史版本下载及配置npm镜像
Node历史版本下载及配置npm镜像
548 1
|
5月前
|
JavaScript 开发工具 数据安全/隐私保护
npm包【详解】(内含npm包的开发、发布、安装、更新、搜索、卸载、查看、版本号更新规则、package.json详解等)
npm包【详解】(内含npm包的开发、发布、安装、更新、搜索、卸载、查看、版本号更新规则、package.json详解等)
113 0
|
6月前
|
JavaScript
vue : 无法加载文件 D:\module\npm_module\npm_modules\vue.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.c
vue : 无法加载文件 D:\module\npm_module\npm_modules\vue.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.c
|
7月前
node node-sass sass-loader版本对应问题,对于npm编译大家经常遇到这个问题
node node-sass sass-loader版本对应问题,对于npm编译大家经常遇到这个问题
746 2

推荐镜像

更多