zoukankan      html  css  js  c++  java
  • npm学习(五)之使用package.json

    使用package.json

    管理本地安装的npm包的最佳方法是创建一个package.json文件。

    一个packagejson文件:

    • 列出项目所依赖的包。
    • 允许使用语义版本控制规则指定项目可以使用的包的版本。
    • 使您的构建具有可重复性,因此更容易与其他开发人员共享。

    需求

    一个package.json必须:

    • “name”

        不允许大写字母

        不允许空格

        允许使用破折号和下划线

    • “version”

        以x.x.x的形式

        遵循semver规范

    For example:

    {
      "name": "my-awesome-package",
      "version": "1.0.0"
    }

    创建一个package.json

    有两种基本方法创建package.json文件。

    1. 运行CLI问卷

    创建package.json文件与您提供的值,运行:npm init

    这将启动一个命令行问卷,最后在您启动命令的目录中创建一个package.json

    2. 创建一个默认的package.json

    获取默认的package.json,运行npm init -yesnpm init -y

    这个方法将生成一个默认package.json,使用从当前目录中提取的信息。

    Wrote to /Users/wangkun/Desktop/nodeWork/work2/lesson8-1/package.json:
    
    {
      "name": "lesson8-1",
      "version": "1.0.0",
      "description": "",
      "main": "index.js",
      "dependencies": {
        "react": "^16.8.6"
      },
      "devDependencies": {},
      "scripts": {
        "test": "echo "Error: no test specified" && exit 1"
      },
      "keywords": [],
      "author": "",
      "license": "ISC"
    • name: 当前目录名称

    • version: 版本

    • description: 说明

    • main: 入口文件,总是index.js

    • dependencies:生产依赖

    • devDependencies:开发依赖

    • scripts:脚本,默认情况下创建一个空的测试脚本

    • keywords:关键字

    • author:作者

    • license: 许可

    您还可以为init命令设置几个配置选项。一些有用的:

    > npm set init.author.email "wombat@npmjs.com"

    > npm set init.author.name "ag_dubs"

    > npm set init.license "MIT"

    注意: 

    如果package.json中没有描述字段。npm使用README.md或者README的第一行来代替。这个描述帮助人们在搜索npm时找到您的包,因此在package.json中进行自定义描述绝对是有用的,使您的

    包更容易找到。

    如何自定义package.json问卷 

    如果您希望创建多个package.json文件,您可能希望自定义init过程中询问的问题,以便这些文件始终包含您期望的关键信息。您可以自定义字段以及所询问的问题。

    为此,在主目录~/.npm-init.js中创建一个自定义 .npm-init.js。

    一个简单的.npm-init.js可能是这样的:

    module.exports = {
      customField: 'Custom Field',
      otherCustomField: 'This field is really cool'
    }

    在主目录中使用这个文件运行npm init将输出一个package.json包含下面的这些:

    {
      customField: 'Custom Field',
      otherCustomField: 'This field is really cool'
    }

    您还可以使用prompt函数自定义问题。

     module.exports = prompt("what's your favorite flavor of ice cream, buddy?", "I LIKE THEM ALL");

    要了解更多关于如何创建高级定制的信息,请查看init-package-json文档

    指定依赖项

    要指定项目所依赖的包,需要列出希望在中package.json文件中使用的包,你可以列出两种包:

    “dependencies”:您的应用程序在生产中需要这些包。

    “devDependencies”:这些包只用于开发和测试。

    手动编辑package.json

    您可以手动编辑package.json。您需要在包对象中创建一个名为dependencies的属性,该属性指向一个对象。这个对象将包含您希望使用的包的名称属性。它将指向一个semver表达式,该表达式指

    定与您的项目兼容的项目版本。如果您有依赖关系,您只需要在本地开发期间使用,请遵循与上面相同的指示,但要使用名为devDependencies的属性。

    例如,下面的项目使用的my_dep包的任何版本与生产中的主要版本1匹配,并且需要my_test_framework包的任何版本与主要版本3匹配,但仅用于开发:

    {
      "name": "my_package",
      "version": "1.0.0",
      "dependencies": {
        "my_dep": "^1.0.0"
      },
      "devDependencies" : {
        "my_test_framework": "^3.1.0"
      }
    }

    --save和--save-dev安装标志

    向package.json中添加依赖项的更简单(也更棒)的方法,从命令行开始执行,使用--save或--save-dev标记npm install命令,这取决于您希望如何使用该依赖项。

    向package.json文件中的dependencies:npm install <package_name> --save

    向package.json文件中的devDependencies:npm install <package_name> --save-dev

    管理依赖版本

    npm使用语义版本控制,或者正如我们经常提到的SemVer,来管理包的版本和版本范围。

    如果你有一个package.json文件在你的目录中并且运行npm install,npm将查看该文件中dependencies列出的,并使用语义版本控制下载最新版本。

    更多内容 

    package.json

    【npm】伙计,给我来一杯package.json!不加糖

     

  • 相关阅读:
    springboot @value 注解的使用
    Django时间时区问题(received a naive datetime while time zone support is active
    乐观锁与悲观锁
    Django 从入门到放弃
    根据数据库表生成 model 类
    Django CSRF攻击
    Django的orm的 数据库查询语法大全
    js常用函数、书写可读性的js、js变量声明...
    Web Worker
    css编写规范
  • 原文地址:https://www.cnblogs.com/kunmomo/p/11221085.html
Copyright © 2011-2022 走看看