"任何一门计算机语言都包含了丰富的第三方库,npm就是JavaScript这门语言的第三方库管理工具,本文将详细介绍JavaScript的包管理工具——npm.

在计算机中安装Node.js时,默认会一并安装npm包管理工具,我们可以输入npm命令进行测试:

@


安装npm包的几种方式

npm包有两种安装方式:全局安装和局部安装.

全局安装

·

如果你想将其作为一个命令行工具,那么你应该将其安装到全局.

全局安装可以让你在任何目录下使用这个包.

安装命令:npm install -g <package>

可简写为:npm i -g <package>

·

补充:如果是Mac系统,则需要加上sudo(权限问题),即:sudo npm install -g <package>,包括下面的命令,都要加上sudo,回车后输入当前用户的密码即可.

本地安装(局部安装)

·

本地安装的npm包,只在当前目录下可用.

安装命令:nom install vue@2.5.17

该方式安装的包:

  1. 会把包安装到node_modules目录中.
  2. 不会修改package.json
  3. 运行npm install不会自动安装该包

本地安装——save(局部安装)

·

本地——save方式安装的npm包,只在当前目录下可用.

安装命令:npm install vue@2.5.17 --save

该方式安装的包:

  1. 会把包安装到node_module目录中.
  2. 会在package.json的dependencies属性下添加包.
  3. 运行nom install命令时,会自动安装包到node_modules目录中.

使用国内的镜像站安装

·

通过npm安装JavaScript第三方库时,访问的是国外的站点,访问速度会比较慢,此时我们可以使用国内的镜像站,cnpm(需先下载此命令),详细的使用方式请参考http://npm.taobao.org/

使用方式:cnpm install vue

卸载npm包

·

卸载全局包:npm uninstall <package> -g

·

卸载本地:

npm uninstall <package> -S, --save: Package will be removed from your dependencies.
npm uninstall <package> -D, --save-dev: Package will be removed from your devDependencies.

以上就是npm包的安装和卸载.


搭建独立的项目环境

但是,当我们需要维护多个独立的项目环境时(比如:项目一需要Vue2.5.10支持;而项目二需要最新的Vue2.5.17支持;),我们应该分别为项目一和项目二创建独立的、与外界隔离的第三方库环境,而不是在当前目录下使用本地或者全局方式安装的npm包.

先创建一个文件夹,并将该文件夹初始化为npm包环境:

$ mkdir myproject
$ cd myproject
$ npm init -y // 使用默认的信息初始化

如果想要自定义信息,则需要使用npm init命令,手动填写信息后,输入yes即可.

需要填写的信息如下:

name 项目名称

version 项目的版本号

description 项目的描述信息

entry point 项目的入口文件

test command 项目启动时脚本命令

git repository 如果你有 Git 地址,可以将这个项目放到你的 Git 仓库里

keywords 关键词

author 作者

license 项目要发行的时候需要的证书


npm常用命令

查看package信息: npm ls <package>

·

更新package:npm update <package>

·

搜索package:nom search <package>


package.json文件详述

随着项目的不断丰富,package.json文件也会不断的复杂.

接下来,我们来看看几个在上述中没有的条目:

"private": true,
"dependencies": {
"antd": "^2.11.1",
"classnames": "^2.2.5"
},
"devDependencies": {
"axios": "^0.15.3",
"babel-eslint": "^6.1.2"
},
"bin": {
"dk-cli": "./bin/dk-cli.js"
},
"scripts": {
"start": "node index.js"
},
"engines": {
"node": ">=6.9.0",
"npm": ">=3.10.10"
}
"publishConfig": {
"registry": "http://gongsineibu/nexus/repository/npm-hosted/"
}

--------- private ---------

·

可选字段,布尔值.

如果值为true,npm会拒绝发布,这可防止私有repositories不小心被发布出去.

--------- dependencies 与 devDependencies ---------

·

在开发阶段,我们需要对开发的模块进行单元测试,这时在开发环境devDependencies下就要安装单元测试模块Mocha.

·

而在生产环境,用户直接使用项目,此时项目的开发已全部完成,不再需要单元测试模块了,加上只会影响性能.

  • dependencies指定了项目生产环境时所依赖的模块.
  • devDependencies指定了项目开发环境时所依赖的模块.

--------- scripts ---------

·

该字段指定了运行脚本命令的npm命令缩写.

比如start指定了运行npm run start时,所要执行的命令.

·

下面的设置指定了npm run dev、nom run build、nom run unit、nom run rest、nom run lint时,所要执行的命令:

"scripts": {
"dev": "node build/dev-server.js",
"build": "node build/build.js",
"unit": "cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run",
"test": "npm run unit",
"lint": "eslint --ext .js,.vue src test/unit/specs"
}

--------- engines ---------

·

指定依赖的node版本.

--------- publishConfig ---------

·

当我们开发完自己的项目,想要将它发布到Npm仓库时,就需要用到这个属性.

默认地址是:https://www.npmjs.com/,将发往Npm公共仓库.

在package.json文件中不加这个属性会默认发往Npm公共仓库.

·

publishConfig字段决定了我们的包将发布到哪里.

如果企业内部搭建了Npm私有仓库,则将地址更改为私有仓库的地址即可.



"

【npm】安装、搭建独立项目环境的更多相关文章

  1. 【强烈推荐,超详细,实操零失误】node.js安装 + npm安装教程 + Vue开发环境搭建

    node.js安装 + npm安装教程 + Vue开发环境搭建 [强烈推荐,超详细,实操零失误] 原博客园地址:https://www.cnblogs.com/goldlong/p/8027997.h ...

  2. JBOSS安装与配置搭建本地项目环境(方便前端开发调式)

    JBOSS安装与配置搭建本地项目环境  什么是JBOSS? JBOSS是EJB的服务器,就像Tomcat是JSP服务器一样,就是服务器的一种. 环境搭建如下: 一:首先安装JDK,配置环境变量(PAT ...

  3. 搭建vue项目环境

    前言 在开发本项目之前,我对vue,react,angular等框架了解,仅限于知道它们是什么框架,他们的核心是什么,但是并没有实际使用过(angular 1.0版本用过,因为太难用,所以对这类框架都 ...

  4. java 操作elasticsearch之搭建测试项目环境

    在创建项目之前请确认maven是否安装好,在此我是以环境都搭建好的情况下进行示范,现在以eclipse开发工具为例,具体操作如下: 1.创建maven项目 File - new -other 2.在p ...

  5. vue-cli安装搭建初始项目

    vue-cli脚手架 前提:node + npm 安装好 一.介绍 vue-cli: Vue + ESLint + webpack + iview + ES6 Vue:主要框架ESLint:帮助我们检 ...

  6. 搭建OA项目环境及卸载指南

    一.项目介绍 1).JDK是什么? 全称:Java Development Kit 中文名:java开发工具包 作用:提供java项目的运行环境         JDK安装 a.jdk.jre 安装 ...

  7. Java第一天:安装搭建Java开发环境

    Java是面向对象的语言.它是通过虚拟机的运行机制来实现“跨平台”的. 这里不多说其他的,进入正题先,学习任何语言前的第一步都是要先搭建好开发环境,Java开发环境搭建如下: 1.到官网 http:/ ...

  8. win10下通过npm成功搭建react开发环境

    1.安装node-v12.13.1-x64(LTS) 2.安装creatre-react-app: npm install -g create-react-app 3.通过create-react-a ...

  9. 搭建React项目环境【1】

    1.安装NodeJS6.0以上自带npm依赖包管理工具 2.webstrom 2019.2 工具 1.在cmd输入node -v就可以看到node的当前版本 2.在输入node进入node环境 3.查 ...

随机推荐

  1. js和jq跳转到另一个页面或者在另一个窗口打开页面

    $("#pic").click(function(){ location.href='newpage.html'; }); 上面的相当于<a href="newpa ...

  2. django 版本 对应pyhton版本

    对应关系

  3. bash数学运算之bc

    一.expr 1.1 语法 注意必须有空格 只能精确到整数,无法精确到浮点数 1.2 操作符对照表 使用expr命令时需要加\进行转义,因为部分符号是保留关键字 例1:比较num1跟num2的大小 [ ...

  4. linq和转换运算符

    1.ToArray 两种常用用法 使用ILSPY查看Enumerable中的ToArray 源码分析:我们发现如果该类型可以转化为ICollection,我们最后执行CopyTo方法,如果不能转换为I ...

  5. PP: Reconstructing time series into a complex network to assess the evolution dynamics of the correlations among energy prices

    Purpose detect the dynamics in time series of their correlation Methodology 1. calculate correlation ...

  6. Form表单利用Jquery Validate验证以及ajax提交

    #表单利用Jquery验证验证以及ajax提交 概述>详细讲解表单利用Jquery >验证验证以及ajax提交的过程,以及Validate的自定义提示语,非空判断,输入字段的远程ajax验 ...

  7. leetcode 198 House Robber I

    function rob(nums) { if(!nums || nums.length === 0) { return 0; } else if(nums.length < 2){ retur ...

  8. 使用LxRunOffline工具备份/还原Linux子系统(WSL)

    安装WSL 开启WSL组件 首先需要打开WSL组件,可以使用以下命令: Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Win ...

  9. python网络编程(通过tcp或者udp协议通信)

    1.基于tcp协议传送文件: 客户端: import socketimport osimport jsonimport structclient = socket.socket()client.con ...

  10. js splice()

    //arrayObject.splice(index,howmany,item1,.....,itemX) 语法 //测试代码let array;array = ['George','John','T ...