美文网首页
Nodejs - package.json

Nodejs - package.json

作者: Lisa_Guo | 来源:发表于2019-12-06 11:18 被阅读0次

在Node.js中,模块是一个库或框架,也是一个Node.js项目。Node.js项目遵循模块化的架构,当我们创建了一个Node.js项目,意味着创建了一个模块,这个模块的描述文件,被称为package.json

package.json包含了所在项目的配置信息,如:版本、描述、作者、运行依赖、打包依赖、运行脚本、环境说明等等。npm init 可以自动生产层基础配置

Scripts

可通过npm run执行的脚本命令,如npm run start, npm run test。脚本命令为node命令或shell命令

"scripts": {
    "start": "node index.js",
    "test": "echo no test!"
}

dependencies, devDependencies

dependencies 定义项目运行时依赖的模块(由别的模块引用时需要与当前模块同时自动安装的三方模块),devDependencies定义项目开发阶段所需要的模块

{
  "dependencies": {
    "browserify": "~13.0.0",
    "karma-browserify": "~5.0.1"
  }
}
  • 指定版本:比如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:安装最新版本。
npm install express --save
npm install express --save-dev

--save 安装时自动将此模块写入dependencies--save-dev 表示将模块写入devDependencies

main

main字段指定了加载的入口文件(commonjs方式),require('moduleName')就会加载这个文件。这个字段的默认值是模块根目录下面的index.js

"main": "lib/mand-mobile.umd.js",

module

模块以es6 module方式被引入时的入口文件

"module": "lib/mand-mobile.esm.js",

打包工具加载模块的时候,如果模块中存在 module 字段,会优先使用,如果没找到对应的文件,则会使用 main 字段,并按照 CommonJS 规范打包。

files

定义一个目录数组,该模块被安装时,files指定的目录集合下的文件也会被同时安装下载

 "files": [
    "lib",
    "lib-vw",
    "components",
    "types",
    "assets"
  ],

可以在模块的根目录或子目录下提供一个.npmignore文件来忽略项目包含文件,即使这些文件被包含在files字段中。

style

样式文件所在位置

"style": "lib/mand-mobile.css",

bin

用于定义一个命令行工具

"bin": {
  "custom": "./bin/custom-init.js"
}

指定一个命令custom,该命令对应的执行脚本为./bin/custom-init.js
可以在命令行工具运行:

$ custom

其他配置

{
  "name": "mand-mobile",   // 本模块名称,被其他模块引用时使用
  "version": "1.6.8",   // 版本号
  "description": "A Vue.js 2.0 Mobile UI Toolkit",  // 本模块描述
  "homepage": "https://github.com/didi/mand-mobile",  // 官网
  "repository": {  // 代码仓库地址
    "type": "git",
    "url": "git+https://github.com/didi/mand-mobile.git"
  },
  "bugs": {  // bug提交地址
    "url": "https://github.com/didi/mand-mobile/issues"
  },
  "engines": {  // 该模块运行的平台,比如 Node 的某个版本或者浏览器。
    "node": ">= 8.0.0",
    "npm": ">= 5.0.0"
  },
  "browserslist": [ // 指定该模板供浏览器使用的版本
    "iOS >= 8",
    "Android > 4.0"
  ]
}

参考文章
https://segmentfault.com/a/1190000014286439

相关文章

  • Nodejs | package.json

    package.json是用来做什么的 package.json的主要功能有两个: 用来保存工程元数据 用来描述工...

  • Nodejs - package.json

    在Node.js中,模块是一个库或框架,也是一个Node.js项目。Node.js项目遵循模块化的架构,当我们创建...

  • nodejs面试题

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

  • 六步搭建ES6语法环境

    1、新建package.json 2、全局安装nodeman nodeman作用:监控 NodeJS 源代码的任何...

  • 初始化项目

    生成项目描述文件package.json 安装依赖 nodejs的模块机制 //es5//lib.jsmodule...

  • ionic 常用命令和打包运行项目 2022-03-02

    1.首先安装 nodejs. 下载VSCode 官方下载 查看当前项目 package.json node-...

  • 使用nodejs连接mongodb数据库

    一个简单的nodejs连接mongodb示例,来自 mongodb官方示例 1. 创建package.json 首...

  • gulp 入门

    Gulp 入门 安装 安装nodejs 全局安装 gulp: 在 package.json 同级目录下创建一个名为...

  • nodejs写接口

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

  • gulp 实现 js、css,img 合并和压缩

    安装nodejs; 新建package.json文件; 全局安装gulp;全局安装gulp目的是为了通过她执行gu...

网友评论

      本文标题:Nodejs - package.json

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