了解 node周边生态

2023-11-18

前言

Node.js 周边的生态非常强大,NPM(Node包管理)上有超过60万个模块,日下超过载量3亿次。但对新人和其它语言背景的开发者来说,了解node周边生态不是一件容易的事,在入门之前需要弄懂不少复杂的概念。废话不多说,来看看本次分享 都有哪些亮点吧!

一、Nodejs 包 和 Npm

关键词:流行 好用 前端开发辅助工具

Nodejs 包

Nodejs中除了它自己提供的核心模块外,我们可以自定义模块,也可以使用第三方的模块。

Nodejs中第三方模块由包组成,可以通过包来对一组具有相互依赖关系的模块进行统一管理。

完全符合CommonJs规范的包目录一般包含如下这些文件。

  • package.json :包描述文件。
  • bin :用于存放可执行二进制文件的目录。
  • lib :用于存放JavaScript代码的目录。
  • doc :用于存放文档的目录。在NodeJs中通过NPM命令来下载第三方的模块(包)。

在NodeJs中通过NPM命令来下载第三方的模块(包)

silly-datetime - npm

npm i silly-datetime –save
var sd = require('silly-datetime');
sd.format(new Date(), 'YYYY-MM-DD HH:mm');

NPM 介绍

npm是世界上最大的开放源代码 的生态系统。我们可以通过npm下载各种各样的包,这些源代码(包)我们可以在https://www.npmjs.com找到。

npm是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:

  • 允许用户从NPM服务器下载别人编写的第三方包到本地使用。(silly-datetime)

  • 允许用户从NPM服务器下载并安装别人编写的命令行程序(工具)到本地使用。(supervisor)

  • 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。

二、NPM命令 详解

1. npm -v

查看npm命令版本

2. 使用npm命令安装模块

npm install _Module Name_

如 安装jq模块:

npm install jquery

3. 使用 npm uninstall ModuleName 命令卸载模块

npm uninstall moduleName

4. npm list

查看当前目录下已经安装的node包
npm list

5. npm info jquery

查看jQuery 版本
npm info 模块    //查看模块的版本

6. 指定版本安装

npm install jquery@1.8.0

三、package.json

关键词:package.json定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据)

1. 创建package.json

npm init
npm init -yes

2. package.json文件

{
    name": "test",
    "version": "1.0.0",
    "description": "test",
    "main": "main.js",
    "keywords": [
        "test"
    ],
    "author": "wade",
    "license": "MIT",
    "dependencies": {
        "express": "^4.10.1"
    },
    "devDependencies": {
        "jslint": "^0.6.5"
    }

}

3.安装模块并把模块写入package.json(依赖)

npm install    babel-cli --save-dev
npm install 模块 --save
npm install 模块--save-dev

4. dependencies 与 devDependencies 之间的区别 ?

使用npm installnode_ module –save自动更新depende ncies字段值;

使用npm installnode_ module –save-dev自动更新devDependenc ies字段值;

dependencie 配置当前程序所依赖的其他包。

devDependencie 配置当前程序所依赖的其他包,只会下载模块,而不下载这些模块的测试和文档框架

"dependencie s": {
    "ejs": "^2.3.4",
    "express": "^4.13.3",
    "formidable": "^1.0.17"
}

^表示第一位版本号不变,后面两位取最新的

~表示前两位不变,最后一个取最新

*表示全部取最新

四、安装淘宝镜像

http://www.npmjs.org npm包官网

npmmirror 中国镜像站 淘宝npm镜像官网

淘宝NPM 镜像是一个完整npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为10分钟一次以保证尽量与官方服务同步。

我们可以使用我们定制的cnpm (gzip 压缩支持) 命令行工具代替默认的npm:

npm install -g cnpm --registry=https: //registry.npm.taobao.org

结语

OK,这次的 分享 到这就结束了,虽然有点少,但是对于小白入门node周边生态基本足够了。

参考

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

了解 node周边生态 的相关文章

随机推荐

  • 共模电感(扼流圈)选型

    1 共模电感原理 在介绍共模电感之前先介绍扼流圈 扼流圈是一种用来减弱电路里面高频电流的低阻抗线圈 为了提高其电感扼流圈通常有一软磁材料制的核心 共模扼流圈有多个同样的线圈 电流在这些线圈里反向流 因此在扼流圈的芯里磁场抵消 共模扼流圈常被
  • Python:打包生成.pyc、.pyd文件

    目录 pyd文件是什么 1 环境 2 待编译文件hello py以及setup py文件 3 运行调试 4 写在最后 pyd文件是什么 pyd文件类似于DLL 一般用C C 语言编译而成 可用作模块导入Python程序中 pyd文件仅适用于
  • 使用Unity游戏引擎在IOS模拟器中运行的方法

    在Unity编译IOS程序时 在Unity导航栏菜单中选择Edit gt ProjectSettings gt Player 菜单项 选择IOS平台在下方SDK Version处选择运行设备为IOS模拟器 选择完毕后Build and Ru
  • 任意代码执行漏洞简介

    一 任意代码执行漏洞思维导图 代码执行漏洞的成因 应用程序在调用一些能够将字符串转换为代码的函数 例如php中的eval中 没有考虑用户是否控制这个字符串 将造成代码执行漏洞 代码执行漏洞的常用函数 PHP eval assert preg
  • springcloud整合Hystrix

    作用 1 服务降级 触发情况 程序运行异常 超时 服务熔断触发服务降级 线程池 信号量打满也会触发服务降级 2 服务熔断 直接拒绝访问 即使有正确的访问也会短路 3 服务限流 排队有序进行 构建服务 1 建module provider h
  • 希沃白板5使用方法

    一 获取白板 手机和电脑都下载希沃白板五5 二 使用白板制作课件 1 获取课件 制作课件 方法一 1 点击课件库 2 点击右上角齿轮完成教材选择 3 找到所需课件 4 点击右下角箭头翻看 觉得可以点击 限免获取 5 点击云课件 找到刚才获取
  • .Net Core Json序列化和反序列化以及自定义JsonConverter来转化特殊日期时间格式

    System Text Json 命名空间提供用于序列化和反序列化 JavaScript 对象表示法 JSON 的功能 System Text Json 命名空间包含所有入口点和主要类型 System Text Json Serializa
  • ELK日志分析系统--Elasticserach安装

    ElK安装 安装es Elasticserach介绍 Elasticsearch是个开源分布式搜索引擎 提供搜集 分析 存储数据3大功能 特点有 分布式 零配置 自动发现 索引自动分片 索引副本机制 restful风格接口 多数据源 自动搜
  • 【Linux操作系统】【综合实验五 网络管理与通信】【更新中】

    文章目录 一 实验目的 二 实验要求 三 实验内容 四 实验报告要求 一 实验目的 要求了解和熟悉Linux网络客户 服务器管理模式 client server 与网络环境的配置 熟悉网络远程登录模式与TCP IP常见终端命令的使用 学会使
  • jmeter常见问题

    问题1 javax swing text BadLocationException Position not represented by view 解决方法 问题2 Could not instantiate class kg apc j
  • react项目中使用react-dnd实现列表的拖拽排序

    现在有一个新需求就是需要对一个列表 实现拖拽排序的功能 要实现的效果如下图 可以通过 react dnd 或者 react beautiful dnd 两种方式实现 今天先讲下使用react dnd是如何实现的 github地址 https
  • 1011 A+B 和 C

    给定区间 231 231 内的 3 个整数 A B 和 C 请判断 A B 是否大于 C 输入格式 输入第 1 行给出正整数 T 10 是测试用例的个数 随后给出 T 组测试用例 每组占一行 顺序给出 A B 和 C 整数间以空格分隔 输出
  • linux下更改文件的权限

    更改所属组 chgrp 语法 chgrp 组名 文件名 root localhost groupadd testgroup root localhost touch test1 root localhost ls l test1 rw r
  • SQL巧用表的自连接和运算符代替排序的几个例子

    MySQL巧用表的自连接和运算符代替排序的几个例子 目录 MySQL巧用表的自连接和运算符代替排序的几个例子 例1 SQL18 例2 SQL23 例3 SQL87 例1 SQL18 获取当前薪水第二多的员工的emp no以及其对应的薪水sa
  • Spring Boot项目的真实程序入口

    基于 spring boot start开发的项目 其程序入口并不是我们开发的业务代码中定义了 main 函数的类 而是 Spring Boot 定义的 JarLauncher 类 下文源码反编译自 spring boot loader 1
  • 遇到bug我们如何分析定位?

    前言 日常工作中 每天可能都会遇到不同的bug 有些刚入行的测试喜欢不加分析就直接甩给开发去解决 开发比较闲还好 如果手头工作比较多 就容易烦 甚至有可能是后端的问题 但是你却把问题丢给了前端 这种事情发生的次数多了 就比较容易暴露水平 那
  • ConcurrentHashMap 常见面试题详解

    ConcurrentHashMap 1 ConcurrentHashMap的数据结构 数组 链表 采用了分段锁的实现机制 2 ConcurrentHashMap初始化 首先会创建segment数组 长度为默认 16 或传入的并发值的大于等于
  • Objective-C中的block

    在Objective C的开发过程中 我们经常用到block 这里就简单总结一下block在Objective C的几种使用方式 1 简单介绍一下block 代码块Block是对C语言的扩展 用来实现匿名函数的特性 Block是一种特殊的数
  • QIIME2-单端数据Deblur

    QIIME2学习 QIIME2分析之单端数据的导入与Deblur 文章目录 QIIME2学习 前言 一 导入数据 查看文件的原始数据的序列数等信息 导出qzv文件查看 二 Deblur 1 按测序碱基质量过滤序列 2 去噪16S过程 3 输
  • 了解 node周边生态

    前言 Node js 周边的生态非常强大 NPM Node包管理 上有超过60万个模块 日下超过载量3亿次 但对新人和其它语言背景的开发者来说 了解node周边生态不是一件容易的事 在入门之前需要弄懂不少复杂的概念 废话不多说 来看看本次分