简单了解node npm cnpm的具体使用方法


Posted in Javascript onFebruary 27, 2019

一、nodeJs

1、node介绍

nodeJs是基于Chrome v8的js运行环境,简单的说, 就是运行在服务端的 JavaScript。不懂得像PHP、Python或Ruby等动态编程语言又想创建自己的服务(例如:前端程序员),Node.js是一个非常好的选择。

2、node安装、更新

如果你所使用的 node 版本已不再被官方支持(Node 0.4、0.6、0.10 和 iojs 都已不再被官方支持)或者是非稳定版(版本号为奇数,如 0.7.x、0.9.x  等),并且在使用过程中遇到了问题:

(1)检查当前所使用的 node 版本:

node -v

(2)Windows 系统中更新 node:

从 https://nodejs.org/download 下载最新的 msi 安装包并安装,中文官方下载地址:http://nodejs.cn/download/ ,或者通过 homebrew 安装

ps:Homebrew是一款Mac OS平台下的软件包管理工具,有安装、卸载、更新、查看、搜索等功能。你不用关心各种依赖和文件路径的情况,简单的一条指令,就可以实现包管理。

简单了解node npm cnpm的具体使用方法

brew install node

(3)Node.js 发布了很多版本,使用一个版本管理器(NVM、nodist、n、nave、nodebrew)在同一台电脑管理多个node版本,是保持版本更新的简单方式 3、node使用

Node.js 模块是一种可以发布到 npm 的包。当你创建一个新模块时,创建 package.json 文件是第一步。

你可以使用 npm init 命令创建 package.json 文件。之后,还需要创建模块的入口文件。默认文件名是 index.js

index.js中,添加一个函数,作为 exports对象的一个属性。

exports.printMsg = function() {
 console.log("This is a message from the demo package");
}

这样,在其他代码中 require("index") 就可以使用这个函数了。

二、npm

1、npm介绍

npm 是nodeJs环境下“安装”开源JS库的工具,由三部分组成:

网站:网站是开发者查找包(package)、设置参数以及管理 npm 使用体验的主要途径

注册表:registry,是一个巨大的数据库,保存了每个包(package)的信息

命令行工具 :CLI,通过命令行或终端运行,开发者通过 CLI 与 npm 打交道

2、npm安装、更新

(1)安装nodeJs就安装好了npm

(2)测试版本 : npm -v

简单了解node npm cnpm的具体使用方法

(3)安装最新版本:npm install npm@latest -g

简单了解node npm cnpm的具体使用方法

(4)安装下个版本:npm install  npm@next -g

简单了解node npm cnpm的具体使用方法

3、npm使用

(1)npm安装包:本地安装和全局安装

本地安装:如果你自己的模块依赖于某个包,并通过 NodeJs 的 require 加载,那么你应该选择本地安装,下载的包将保存到node_modules目录下。

npm install <Module Name>

eg,安装vue 百度地图插件到我的移动h5“项目”中使用:

简单了解node npm cnpm的具体使用方法

全局安装:如果你想将包作为一个命令行工具,(比如 grunt CLI),那么你应该选择全局安装。

npm install -g <Module Name>

安装vue cli 3到我的“电脑”中搭建vue脚手架使用,eg:

简单了解node npm cnpm的具体使用方法

安装完成后,它便可以通过“命令行”使用,eg:

简单了解node npm cnpm的具体使用方法

ps.   

 --save :记录在 package.json的“dependencies(运行时所需要的包)”,eg

npm i --save vue-baidu-map // i 是 install 的缩写,就像 -v 是-version的缩写, 同样的 --save 也可以缩写为 --s

--save-dev:记录在 package.json的“devDependencies(开发时依赖的插件,会打包至线上)”里,eg:

简单了解node npm cnpm的具体使用方法

// PS: 你也可以直接使用“npm install less vue-loader -D”(D大写)

结果如下图:

简单了解node npm cnpm的具体使用方法

(2)npm更新安装包

更新本地安装包:

npm update

eg,更新本地安装的 vue-baidu-map 包:

简单了解node npm cnpm的具体使用方法

更新全局安装包:

npm update -g

eg,更新全局安装的 @vue/cli 包

简单了解node npm cnpm的具体使用方法 

(3)卸载npm安装包

卸载本地安装包

npm uninstall <package>

eg,卸载本地安装的 vue-baidu-map 包:

简单了解node npm cnpm的具体使用方法

卸载全局安装包

npm uninstall -g <package>

ps.   如需从 package.json 文件中删除依赖,需要在命令后添加参数 --save

npm uninstall --save <package>

三、淘宝 NPM 镜像

淘宝 NPM 镜像是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步,支持 npm 除了 publish 之外的所有命令

  1、安装

(1)临时使用

npm --registry https://registry.npm.taobao.org install express

(2)持久使用

npm config set registry https://registry.npm.taobao.org
//可以用npm config get registry/npm info express 验证

(3)通过cnpm使用

$ npm install -g cnpm --registry=https://registry.npm.taobao.org
$ cnpm -v //成功后会有版本信息返回,不成功有可能是node版本低

操作如下:

简单了解node npm cnpm的具体使用方法 

2、使用

官网: http://npm.taobao.org/

(1)成功安装后,直接用cnpm代替之前的npm,安装模块:

cnpm install -g <Module Name>

-g表示全局安装,本地安装不需加。

(2)同步模块 ,直接通过 sync 命令马上同步一个模块(只有 cnpm 命令行才有此功能)

$ cnpm sync connect

(3)支持 npm 除了 publish 之外的所有命令 

npm publish: 把自己的项目包发布到npm 上 ,供别人 npm install 安装使用

(4)更新

cnpm update -g

(5)替换

修改官方源(npm)为源地址

npm config set registry http://registry.npm.taobao.org/

修改源地址为官方源(npm)

npm config set registry https://registry.npmjs.org/

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
将CKfinder整合进CKEditor3.0的新方法
Jan 10 Javascript
JQuery操作单选按钮以及复选按钮示例
Sep 23 Javascript
js使用post 方式打开新窗口
Feb 26 Javascript
javascript特殊日历控件分享
Mar 07 Javascript
jQuery animate和CSS3相结合实现缓动追逐效果附源码下载
Apr 18 Javascript
使用vue.js实现联动效果的示例代码
Jan 10 Javascript
Node.js+jade+mongodb+mongoose实现爬虫分离入库与生成静态文件的方法
Sep 20 Javascript
echarts设置图例颜色和地图底色的方法实例
Aug 01 Javascript
js的对象与函数详解
Jan 21 Javascript
js实现图片推拉门效果代码实例
May 18 Javascript
浅谈javascript错误处理
Aug 11 Javascript
js中调用微信的扫描二维码功能的实现代码
Apr 11 Javascript
js中对象与对象创建方法的各种方法
Feb 27 #Javascript
vue router带参数页面刷新或回退参数消失的解决方法
Feb 27 #Javascript
react的滑动图片验证码组件的示例代码
Feb 27 #Javascript
原生JS forEach()和map()遍历的区别、兼容写法及jQuery $.each、$.map遍历操作
Feb 27 #jQuery
js/jquery遍历对象和数组的方法分析【forEach,map与each方法】
Feb 27 #jQuery
spring+angular实现导出excel的实现代码
Feb 27 #Javascript
react native 原生模块桥接的简单说明小结
Feb 26 #Javascript
You might like
谈PHP生成静态页面分析 模板+缓存+写文件
2009/08/17 PHP
php中使用Curl、socket、file_get_contents三种方法POST提交数据
2011/08/12 PHP
浅析is_writable的php实现
2013/06/18 PHP
PHP中开启gzip压缩的2种方法
2015/01/31 PHP
PHP处理数组和XML之间的互相转换
2016/06/02 PHP
YII分模块加载路由的实现方法
2018/10/01 PHP
laravel通过a标签从视图向控制器实现传值
2019/10/15 PHP
JavaScript继承方式实例
2010/10/29 Javascript
node.js实现BigPipe详解
2014/12/05 Javascript
Bootstrap导航栏各元素操作方法(表单、按钮、文本)
2015/12/28 Javascript
JavaScript中绑定事件的三种方式及去除绑定
2016/11/05 Javascript
解析微信JS-SDK配置授权,实现分享接口
2016/12/09 Javascript
vue 子组件向父组件传值方法
2018/02/26 Javascript
使用vue-cli webpack 快速搭建项目的代码
2018/11/21 Javascript
Vue+Bootstrap收藏(点赞)功能逻辑与具体实现
2020/10/22 Javascript
[01:24:51]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS NewBee第二场
2014/05/26 DOTA
[46:44]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD BO3 第二场 3月7日
2021/03/11 DOTA
Python合并字典键值并去除重复元素的实例
2016/12/18 Python
PyTorch搭建一维线性回归模型(二)
2019/05/22 Python
django-rest-framework解析请求参数过程详解
2019/07/18 Python
Django框架反向解析操作详解
2019/11/28 Python
python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例
2020/03/01 Python
什么是python的函数体
2020/06/19 Python
Html5 Canvas 实现一个“刮刮乐”游戏
2019/09/05 HTML / CSS
英国建筑用品在线:Building Supplies Online(BSO)
2018/04/30 全球购物
Club Monaco加拿大官网:设计师男女服装
2019/09/29 全球购物
主键(Primary Key)约束和唯一性(UNIQUE)约束的区别
2013/05/29 面试题
应用英语专业自荐信
2014/01/26 职场文书
销售业务员岗位职责
2014/01/29 职场文书
爱国演讲稿500字
2014/05/04 职场文书
色戒观后感
2015/06/12 职场文书
毕业生入职感言
2015/07/31 职场文书
2016年党员创先争优公开承诺书
2016/03/25 职场文书
2019已经过半,你知道年中工作总结该怎么写吗?
2019/07/03 职场文书
css3中2D转换之有趣的transform形变效果
2022/02/24 HTML / CSS
win10以太网连接不上怎么办?Win10连接以太网详细教程
2022/04/08 数码科技