简单了解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 相关文章推荐
javascript 获取元素位置的快速方法 getBoundingClientRect()
Nov 26 Javascript
jquery使用append(content)方法注意事项分享
Jan 06 Javascript
使用javascript实现Iframe自适应高度
Dec 24 Javascript
JavaScript 学习笔记之数据类型
Jan 14 Javascript
深入学习JavaScript的AngularJS框架中指令的使用方法
Mar 05 Javascript
js自定义Tab选项卡效果
Jun 05 Javascript
小程序图片剪裁加旋转的示例代码
Jul 10 Javascript
layui实现table加载的示例代码
Aug 14 Javascript
js实现九宫格布局效果
May 28 Javascript
vue实现匀速轮播效果
Jun 29 Javascript
OpenLayers实现图层切换控件
Sep 25 Javascript
Vue中避免滥用this去读取data中数据
Mar 02 Vue.js
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/07/17 PHP
php设计模式  Command(命令模式)
2011/06/17 PHP
php 模拟POST提交的2种方法详解
2013/06/17 PHP
用PHP解决的一个栈的面试题
2014/07/02 PHP
thinkPHP中钩子的两种配置调用方法详解
2016/11/11 PHP
PHP策略模式定义与用法示例
2017/07/27 PHP
Javascript 判断 object 的特定类转载
2007/02/01 Javascript
js数字转换为float,取N位小数
2014/02/08 Javascript
5个书写JavaScript代码的坏习惯,看看你中枪了没?
2014/11/06 Javascript
KnockoutJS 3.X API 第四章之数据控制流component绑定
2016/10/10 Javascript
jQuery ajax MD5实现用户注册即时验证功能
2016/10/11 Javascript
使用ReactJS实现tab页切换、菜单栏切换、手风琴切换和进度条效果
2016/10/17 Javascript
JS中用try catch对代码运行的性能影响分析
2016/12/26 Javascript
angularjs实现柱状图动态加载的示例
2017/12/11 Javascript
解决vue-cli单页面手机应用input点击手机端虚拟键盘弹出盖住input问题
2018/08/25 Javascript
在vue中使用axios实现post方式获取二进制流下载文件(实例代码)
2019/12/16 Javascript
JS中的继承操作实例总结
2020/06/06 Javascript
Element InputNumber 计数器的实现示例
2020/08/03 Javascript
深入浅析python中的多进程、多线程、协程
2016/06/22 Python
Python基于PyGraphics包实现图片截取功能的方法
2017/12/21 Python
python实现将一个数组逆序输出的方法
2018/06/25 Python
代码详解django中数据库设置
2019/01/28 Python
基于Python实现用户管理系统
2019/02/26 Python
Python列表元素常见操作简单示例
2019/10/25 Python
关于HTML5语义标签的实践(blog页面)
2016/07/12 HTML / CSS
Bowflex美国官方网站:高级家庭健身器材
2017/12/22 全球购物
生物有机护肤品:Aurelia Probiotic Skincare
2018/01/31 全球购物
ManoMano英国:欧洲第一家专注于DIY和园艺市场的电商平台
2020/03/12 全球购物
输入N,打印N*N矩阵
2012/02/20 面试题
董事长秘书工作职责
2014/06/10 职场文书
领导干部遵守党的政治纪律情况思想汇报
2014/09/14 职场文书
军训通讯稿范文
2015/07/18 职场文书
python文件目录操作之os模块
2021/05/08 Python
面试提问mysql一张表到底能存多少数据
2022/03/13 MySQL
详解Alibaba Java诊断工具Arthas查看Dubbo动态代理类
2022/04/08 Java/Android
win10此电脑打不开怎么办 win10双击此电脑无响应的解决办法
2022/07/23 数码科技