• package.json文件的一些知识点,实践总结


    前言

    写过vue代码的都知道,项目中会有个package.json文件,那么这个文件有什么用呢?我相信这是很多人都容易忽略的一个点,也是从上手到上心的一个过程。接下来让我们一起探讨神秘的package.json

    package.json有什么用?

    package.json 文件其实就是对项目或者模块包的描述,里面包含许多元信息。比如项目名称,项目版本,项目执行入口文件,项目贡献者等等。npm install 命令会根据这个文件下载所有依赖模块。

    package.json 文件配置说明

    • name:项目/模块名称,长度必须小于等于214个字符,不能以".“(点)或者”_"(下划线)开头,不能包含大写字母。
    • version:项目版本。

    author:项目开发者,它的值是你在https://npmjs.org网站的有效账户名,遵循“账户名<邮件>”的规则,例如:zhangsan zhangsan@163.com。

    description:项目描述,是一个字符串。它可以帮助人们在使用npm search时找到这个包。

    keywords:项目关键字,是一个字符串数组。它可以帮助人们在使用npm search时找到这个包。

    private:是否私有,设置为 true 时,npm 拒绝发布。

    license:软件授权条款,让用户知道他们的使用权利和限制。

    bugs:bug 提交地址。

    contributors:项目贡献者 。

    repository:项目仓库地址。

    homepage:项目包的官网 URL。

    dependencies:生产环境下,项目运行所需依赖。

    devDependencies:开发环境下,项目所需依赖。

    scripts:执行 npm 脚本命令简写,比如 “start”: “react-scripts start”, 执行 npm
    start 就是运行 “react-scripts start”。

    bin:内部命令对应的可执行文件的路径。

    main:项目默认执行文件,比如 require(‘webpack’);就会默认加载 lib 目录下的 webpack.js
    文件,如果没有设置,则默认加载项目跟目录下的 index.js 文件。

    module:是以 ES Module(也就是 ES6)模块化方式进行加载,因为早期没有 ES6 模块化方案时,都是遵循CommonJS 规范,而 CommonJS 规范的包是以 main 的方式表示入口文件的,为了区分就新增了 module 方式,但是 ES6 模块化方案效率更高,所以会优先查看是否有 module 字段,没有才使用 main 字段。

    eslintConfig:EsLint 检查文件配置,自动读取验证。

    engines:项目运行的平台。

    browserslist:供浏览器使用的版本列表。

    style:供浏览器使用时,样式文件所在的位置;样式文件打包工具parcelify,通过它知道样式文件的打包位置。

    files:被项目包含的文件名数组。

    package.json中^和~和没有任何符号的的区别

    • ‘~’(波浪符号):他会更新到中间的那位数字中最新的版本。如:2.3.1 ,这个库会去匹配更新到2.3.x的最新版本,如果出了一个新的版本为2.4.0,则不会自动升级。波浪符号是曾经npm安装时候的默认符号,现在已经变为了插入符号。

    • ‘^’(插入符号): 这个符号就显得非常的灵活了,他将会把当前库的版本更新到当前major version(也就是第一位数字)中最新的版本。这个库会去匹配2.x.x中最新的版本,但是他不会自动更新到3.0.0。

    • 没有任何符号,应该就是,指定版本喽。

  • 相关阅读:
    【原创】分布式之一行代码解决缓存击穿问题
    【华为OD机试真题 python】数据分类【2022 Q4 | 200分】
    硬件工程师成长之路(0)----认识元件
    分享一个连接远端计算机与传输文件的脚本
    Cookie和Session详解以及结合生成登录效果
    Python之xpath、JsonPath、bs4基本使用
    人工智能基础_机器学习044_使用逻辑回归模型计算逻辑回归概率_以及_逻辑回归代码实现与手动计算概率对比---人工智能工作笔记0084
    Alexa Fluor 远红色染料|DBCO-AF647|AF-647-DBCO
    Spring Framework---IOC/DI
    <Linux>(极简关键、省时省力)《Linux操作系统原理分析之Linux 进程管理 1》(5)
  • 原文地址:https://blog.csdn.net/AIB_Kasic/article/details/127423550