美文网首页
NPM、NodeJS关系,package.json是什么

NPM、NodeJS关系,package.json是什么

作者: 维仔_411d | 来源:发表于2019-11-29 15:23 被阅读0次

NodeJS

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine

  • Node使用CommonJS模块规范;
  • 每个模块内都有一个module对象,代表当前模块[1]
  • module.exports表示当前模块向外输出的变量,其他文件加载该模块 (可使用require),读取的就是module.exports变量
  • require 文件,路径 '/'开头为绝对路径,'./'开头为相对路径 相对于脚本执行的位置,非'/'和'./'开头则按顺序搜索文件
    example:脚本/home/user/projects/foo.js执行了require('bar.js')命令,Node会依次搜索以下文件: (默认搜索指定的文件名,若搜索不到会尝试为文件名加.js、.json、.node后缀后再去搜索)
    /usr/local/lib/node/bar.js (优先去NODE_PATH中找,npm get prefix 可查看NODE_PATH)
    /home/user/projects/node_modules/bar.js
    /home/user/node_modules/bar.js
    /home/node_modules/bar.js
    /node_modules/bar.js
  • require 目录,发现参数字符串指向一个目录后,会自动查看该目录的package.json文件,然后找到文件中的main字段指定的入口文件 并加载,若没有package.json文件,或其中没有main字段 则会加载该目录下的index.js或index.node文件 [2]

NPM

NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:[3]

  • 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
  • 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
  • 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。

npm install <模块名>@<version>
version可以是具体版本号,也可以是版本号范围(1.1.x),或latest(表示最新版本)等tag文字,

命令 参数 释义
npm install <模块名> 安装在命令执行当前目录下的 node_modules目录(通过require引入的包需要安装在本地node_modules目录)
<模块名> --save 模块名和版本信息保存在package.json的dependencies节中
<模块名> --save-dev 模块名和版本信息保存在package.json的devDependencies节中
npm install <模块名> -g 安装在node的安装目录(where node)
npm install 按照package.json中的信息安装模块(devDependencies和dependencies中的都安装)
npm insatll --production 按照package.json中的信息安装模块(不安装devDependencies中的信息,安装dependencies中的模块)

package.json

npm托管的项目,目录下存在package.json,用于定义包的属性
name、version、main(入口)、scripts(在此目录下执行npm run 脚本名 执行的内容)
tips:[4]

依赖的模块的版本号前尝有波浪号(~)和插入符号(^),以1.2.2版本为例:
~1.2.2:大版本和次要版本不变,安装1.2.x 的最新版本,版本号不低于1.2.2
^1.2.2:大版本不变,安装1.x.x 的最新版本,版本号不低于1.2.2。
若大版本号是0,插入符号与波浪号意义相同,大版本和次要版本都不变

参考文章


  1. CommonJS规范

  2. require() 源码解读

  3. NPM 使用介绍

  4. package.json

相关文章

  • NPM、NodeJS关系,package.json是什么

    NodeJS Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时 Node.js...

  • nodejs写接口

    在项目根目录下:“npm init” 初始化nodejs项目,生成package.json文件 npm insta...

  • nodejs面试题

    什么是nodejs 用到了哪些插件 package.json 配置理解 npm和cnpm

  • Webpack前端项目打包配置

    前提 全局环境下安装 nodejs 使用 1、安装依赖包 如果项目没有npm管理,即没有package.json文...

  • npm 执行脚本

    熟悉vue || npm的童鞋都知道,nodejs脚本执行的任务大多都写在package.json中,如下图所示。...

  • npm的使用

    npm是什么 NPM是随同NodeJS一起安装的包管理工具,如需使用npm必须安装NodeJS。 版本查...

  • 【Vuejs】一步步的看vue-cli4-基础篇1

    npm npm是什么? npm,全称【node package management】,是nodejs内置的软件包...

  • vue.js单文件组件入门笔记

    nodeJs nodeJs安装 nodeJs模块 npm介绍 cnpm npm常用指令介绍 npm in...

  • 关于npm

    NPM的一些知识 NPM是什么?NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问...

  • 如何发布一个Atom的package

    上次为大家介绍了package.json的内容,文件在nodejs是非常有用的,发布npm是必须使用的,那么这次给...

网友评论

      本文标题:NPM、NodeJS关系,package.json是什么

      本文链接:https://www.haomeiwen.com/subject/ogbvwctx.html