使用package.json安装模块
node.js模块的安装可以使用npm安装,如下:
$ npm install <Module Name>
每个项目的根目录下面,一般都需要一个package.json文件,定义了这个项目中所需各种模板及项目中的配置信息。npm install命令根据这个配置文件,自动下载所需的模块,也就是配置项目中所需的运行和开发环境。
使用package.json安装模块有以下好处:
- 可以很方便地将项目中的模块分享给其他人,不需要将整个node_ modules目录发给他们。因为有了package .json之后,其他人运行npm install就可以把依赖的模块都下载下来
- 可以很方便地记录所依赖模块的版本号几.举个例子来说,当你的项目通过npm install colors安装的是0.0.5的colors.一年后,由干colors模块API的更改,可能导致与你的项目不兼容,如果你使用npm install并且不指定版本号来安装的话,你的项目就没法正常运行了
- 让分享更简单。如果你的项目不错,你是否想将它分享给别人?这时,因为有package.json文件,通过npm publish就可以将其发布到NPM库中供所有人下载使用了.
package.json属性
仔细观察package.json文件可以发现其内部就是一个json对象,该对象的每一个成员就是当前项目的一项设置,package.json属性说明如下:
name - 包名。
version - 包的版本号。
description - 包的描述。
homepage - 包的官网 url 。
author - 包的作者姓名。
contributors - 包的其他贡献者姓名。
dependencies - 依赖包列表。如果依赖包没有安装,npm 会自动将依赖包安装在 node_module 目录下。
repository - 包代码存放的地方的类型,可以是 git 或 svn,git 可在 Github 上。
main - main 字段指定了程序的主入口文件,require('moduleName') 就会加载这个文件。这个字段的默认值是模块根目录下面的 index.js。
keywords - 关键字
示例代码如下:
{
//项目名称
"name": "demo",
//版本号(遵守“主版本.次要版本.补丁号”的格式
"version": "1.0.0",
//description描述你的模块,或者搜索
"description": "vue.js js iview ",
//main字段指定了加载的入口文件,即主文件
"main": "app.js",
// scripts指定了运行脚本命令的npm命令行缩写,比如start指定了运行npm start时,所要执行的命令。
"scripts": {
"start": "node index.js"
},
//repository(仓库)指定一个代码存放地址
"repository": {
"type": "git",
"url": "git+https://github.com/XXXX"
},
//作者
"author": "mayuan",
//授权方式
"license": "MIT",
//指明node.js运行所需要的版本
"engines": {
"node": "0.10.x"
},
"bugs": {
"url": "https://github.com/XXXX"
},
// 一个字符串数组,方便别人搜索到本模块
"keywords": [
"vue","iview"
],
//devDependencies指定项目开发所需要的模块
"devDependencies": {
"babel-core": "^6.23.1",
"babel-loader": "^6.3.2",
"babel-preset-es2015": "^6.22.0",
"vue-html-loader": "^1.0.0",
"vue-loader": "^8.5.2",
"vue-style-loader": "^1.0.0",
"webpack": "^1.13.2"
},
//dependencies字段指定了项目运行所依赖的模块
"dependencies": {
"express": "latest", //指定express是最新版本
"mongoose": "~3.8.3",
"handlebars-runtime": "~1.0.12",
"express3-handlebars": "~0.5.0",
"MD5": "~1.2.0"
}
}
有了package.json文件,直接使用npm install命令,就会在当前目录中安装所需要的模块
npm install
使用package.json安装模块的更多相关文章
- Docker+Cmd+Cli+Git之前端工程化纪要(二)自定义类package.json文件管理模块包
全新升级后的FE工作流为:使用FE命令包进行项目的初始化,其中包括项目初始化.拉取脚手架.私库拉取模块包或后期扩展的CI/CD等与本公司工作流相关的操作. 出现的问题如下: 脚手架工具的包依赖信息存放 ...
- nodejs中package.json文件模块依赖的版本格式
version 完全匹配 >version 大于这个版本 >=version大于或等于这个版本 <version 小于这个版本 <=version 小于等于这个版本 ~vers ...
- package.json安装依赖的箭头?
- nodejs package.json详细解读
package.json详细内容 它是这样一个json文件(注意:json文件内是不能写注释的,复制下列内容请删除注释): JavaScript { "name": "t ...
- 11.使用 package.json
转自:http://www.runoob.com/nodejs/nodejs-express-framework.html package.json 位于模块的目录下,用于定义包的属性.接下来让我们来 ...
- Perl PPM安装模块
介绍一下如何使用PPM(Perl Package Manager)安装模块(必须安装了ActivePerl).打开PPM,我们看到的界面是这样的: 我们看到第二行是工具栏,从左到右,第一个是查看仓 ...
- npm安装package.json中的模块依赖
npm 一键安装 package.json里的依赖时有2种情况: 1.package.json不存在时 运行命令: npm init可自动创建package.json文件 2.package.json ...
- 十二、Nodejs 包与 NPM 第三方模块安装 package.json 以及 CNPM
1. 包 Nodejs 中除了它自己提供的核心模块外,我们可以自定义模块,也可以使用第三方的模块.Nodejs 中第三方模块由包组成,可以通过包来对一组具有相互依赖关系的模块进行统一管理. 在 Nod ...
- Nodejs 包与 npm第三方模块安装和 package.json 以及 cnpm
包与 NPM 1. 包 Nodejs 中除了它自己提供的核心模块外,可以自定义模块,也可以使用第三方的模块.Nodejs 中第三方模块由包组成,可以通过包来对一组具有相互依 赖关系的模块进行统一管理. ...
随机推荐
- java篇 之 继承
this代表正在使用类的对象(的引用) java支持重载:允许在同一个类中使用相同的方法名(重载类型只区分参数列表,包括参数 顺序,参数个数,参数数据类型,与方法返回类型无关) 匹配: 方法名 参数列 ...
- oracle常见的函数
1.字符函数 -- initcap函数只针对英文 select * from tb_user where user_name = initcap('张三'); -- ltrim 左剪切 select ...
- Navicat连接远程主机(腾讯云服务器)的mysql失败,解决
赋予所有用户远程连接的权限,重启mysql即可连接成功: grant all privileges on . to 'root'@'%' identified by 'admin'; systemct ...
- devexpress layoutview
1.设定数据源 2.设置view 3.设置 templat cardview 4 显示
- 爬虫(十三):PIL模块
1. PIL模块 在爬虫(十二):图形验证码的识别.滑动验证码的识别(B站滑动验证码)中我留下了一个悬念,为什么安装的是pillow模块,而不是PIL模块.这是因为PIL是python2的产物,它并没 ...
- UIImageView的API
- (instancetype)initWithImage:(UIImage *)image; 返回使用指定图像初始化的图像视图. - (instancetype)initWithImage:(UII ...
- 运行时Runtime的API
const char * class_getName(Class cls); 返回类的名称. Class class_getSuperclass(Class cls); 返回类的超类. Class c ...
- PyQt5复杂控件(树控件、选项卡控件(滚动条控件、多文档控件、停靠控件)
1.树控件的基本使用方法QTreeWidget'''QTreeWidget树控件的使用方法添加图标,添加表格,添加复选框等'''from PyQt5.QtWidgets import *from Py ...
- 吴裕雄 python 神经网络——TensorFlow训练神经网络:不使用隐藏层
import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data INPUT_NODE = 784 ...
- ISR4K-IOS XE EPC
1.该操作在ISR4K的平台操作,简单的执行了一个控制层面的抓包 配置命令: R01#monitor capture A control-plane both R01#monitor capture ...