1.什么是npm

npm全称node package manager,是node包管理和分发工具。可以理解为前端的maven。通过npm可以很方便的下载js库,管理前端工程。node已经集成npm工具,在cmd中输入npm -v查看当前npm版本。

官网地址:https://www.npmjs.cn/

2.npm命令

2.1初始化工程

init命令是工程初始化命令。建立一个空文件夹,cmd中输入

npm init

按照提示输入相关信息,如果是用默认值则直接回车即可。
name: 项目名称
version: 项目版本号
description: 项目描述
keywords: {Array}关键词,便于用户搜索到我们的项目
最后会生成package.json文件,这个是包的配置文件,相当于maven的pom.xml

2.2本地安装

install命令用于安装某个模块,若想安装express模块(node的web框架),输出命令为:

npm install express

在该目录下已经出现了一个node_modules文件夹 和package-lock.json文件。
node_modules文件夹用于存放下载的js库(相当于maven的本地仓库);
package-lock.json是当 node_modules 或 package.json 发生变化时自动生成的文件。这个文件主要功能是确定当前安装的包的依赖,以便后续重新安装的时候生成相同的依赖,而忽略项目开发过程中有些依赖已经发生的更新。
我们再打开package.json文件,发现刚才下载的express已经添加到依赖列表中了.

关于版本号定义:

指定版本:比如1.2.2,遵循“大版本.次要版本.小版本”的格式规定,安装时只安装指定版
本。
波浪号(tilde)+指定版本:比如~1.2.2,表示安装1.2.x的最新版本(不低于1.2.2),但
是不安装1.3.x,也就是说安装时不改变大版本号和次要版本号。
插入号(caret)+指定版本:比如ˆ1.2.2,表示安装1.x.x的最新版本(不低于1.2.2),但
是不安装2.x.x,也就是说安装时不改变大版本号。需要注意的是,如果大版本号为0,则插
入号的行为与波浪号相同,这是因为此时处于开发阶段,即使是次要版本号变动,也可能带来程序的不兼容。
latest:安装最新版本。

2.3全局安装

本地安装会将js库安装在当前目录,而使用全局安装会将库安装到全局目录下。全局目录的路径可以修改,修改详情请自行百度。

查看全局目录路径:

npm root -g

若全局安装vue:

npm install vue -g

2.4批量下载

若从网上下载源码时,只有package.json,没有node_modules文件夹,可以通过install命令重新下载所依赖的js库。

进入package.json所在的目录,输入命令:

npm install

npm会自动下载package.json中依赖的js库

2.5淘宝npm镜像

使用npm下载资源很慢,可以安装cnmp(淘宝镜像)来加快下载速度。

cmd中输入命令,全局安装cnmp:

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

查看cnpm版本:

cnpm -v

使用cnpm:

cnpm install 需要下载的js库

2.6运行工程

若想运行某个工程,使用run命令。

若package.json中定义的脚本为:

dev是开发阶段测试运行
build是构建编译工程
lint 是运行js代码检测

运行dev:

npm run dev

2.7编译工程

代码编译后就可以将工程部署到nginx中了,编译后的代码会放在dist文件夹中。

编译命令:实质是底层调用webpack命令来实现打包的

npm run build

编译后可以看到dist文件夹中只有静态页面和一个static文件夹,这种工程称之为单页web应用(single page web application,SPA),就是只有一张web页面的应用,是加载单个HTML 页面并在用户与应用程序交互时动态更新该页面的Web应用程序。

npm基本介绍及使用的更多相关文章

  1. nodeJS学习(2)--- NPM 使用介绍

    前言:express 推出了4.X,自己尝试了一下,出现了各种问题.结果查看了各种文档和问题,现在在这个给大家分享下4.X版本的安装. NPM 使用介绍 NPM是随同NodeJS一起安装的包管理工具, ...

  2. node.js ----NPM使用介绍

    NPM 使用介绍 NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种: 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从 ...

  3. Node.js:NPM 使用介绍

    ylbtech-Node.js:NPM 使用介绍 1.返回顶部 1. NPM 使用介绍 NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种: ...

  4. nodejs的安装与npm的介绍

    Node.js是一个Javascript运行环境(runtime environment),发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装.本文详细介绍了No ...

  5. NPM 使用介绍(包管理工具,解决NodeJS代码部署上的很多问题)

    引用地址:http://www.runoob.com/nodejs/nodejs-npm.html NPM 使用介绍 NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问 ...

  6. NPM 使用介绍

    NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种: 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从NPM服务器下载并 ...

  7. Node.js 学习(三) NPM 使用介绍

    NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种: 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从NPM服务器下载并 ...

  8. Node.js NPM 使用介绍

    NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种: 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从NPM服务器下载并 ...

  9. nodejs基础 -- NPM 使用介绍

    npm:是nodejs的包管理工具,随NodeJS一起安装的,能解决NodeJS代码部署上的很多问题,如: 1.允许用户从NPM服务器下载别人编写的第三方包到本地使用. 2.允许用户从NPM服务器下载 ...

  10. npm(cnpm)介绍

    1.npm(node package manager) nodejs的包管理器,用于node插件管理(安装.卸载.更新.管理依赖等); 2.使用npm安装安装插件: 1).命令提示符执行 npm in ...

随机推荐

  1. Oracle 9i,10g,11g各自alert日志的位置

    10g&9i的alert日志: 进入oracle:[zhangshengdong@oralocal1 ~]$ sudo su - oracle[oracle@oralocal1 ~]$ sql ...

  2. SQLAlchemy 增删改查 一对一 多对多

    首先要导入SQLAIchemy模块 from sqlalchemy.ect.declaative import declarative_base 创建orm基类 Base = declarative_ ...

  3. Java冠军程序员告诉你如何提升技术

    让我们跟着兄弟连JavaEE培训 导师,聊一聊——怎样成为冠军程序员 ? 我认为以下几点能力是非常有帮助的: 1.强大的记忆力.当 我上八年级的时候,全因那位死气沉沉的历史老师,让我自己都相信我的记忆 ...

  4. POJ 3046 Ant Counting ( 多重集组合数 && 经典DP )

    题意 : 有 n 种蚂蚁,第 i 种蚂蚁有ai个,一共有 A 个蚂蚁.不同类别的蚂蚁可以相互区分,但同种类别的蚂蚁不能相互区别.从这些蚂蚁中分别取出S,S+1...B个,一共有多少种取法. 分析 :  ...

  5. 倍增求LCA算法详解

    算法介绍: 看到lca问题(不知道lca是什么自(bang)行(ni)百度),不难想到暴力的方法: 先把两点处理到同一深度,再让两点一个一个祖先往上找,直到找到一个相同的祖先: 这么暴力的话,时间复杂 ...

  6. [HG]walk 题解

    前言 学长博客划水,抄题解,差评. 于是我来重新写一篇正常的题解,虽然解法跟标程不一样,但是复杂度是一样的. 题面 题目描述 在比特镇一共有\(n\)个街区,编号依次为\(1\)到\(n\),它们之间 ...

  7. websocket 传输数据帧打包 (client端)

    /* Vertion: 0.2.1 date: 2015.8.11 content: gcc 编译通过 */ //websocket 传输数据帧打包 client端 //参数:src 为输入字符串 / ...

  8. 走进JavaWeb技术世界14:Mybatis入门

    本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...

  9. 使用eclipse导入新项目时中文出现乱码问题

    有时候在github上看到别人不错的项目想要拉下来学习学习的时候,总会出现这样的情况,实在蛋疼. 一般出现这种问题,会有三个地方需要改动: 在项目上右键选择 properties 将 text fil ...

  10. icon组件

    iocn组件,小程序给我们提供了一些小图标,与微信的风格一致 iocn组件的属性: type:类型:string icon的类型: 属性值:success:成功   带背景的 success_no_c ...