zoukankan      html  css  js  c++  java
  • package.json 字段说明

    以vue的package.json为例:

    {
      // 名称
      "name": "vue",
      // 版本
      "version": "2.6.10",
      // 描述
      "description": "Reactive, component-oriented view layer for modern web interfaces.",
      // npm包项目的主要入口文件,必须的
      "main": "dist/vue.runtime.common.js",
      // rollup 打包需要的入口文件
      "module": "dist/vue.runtime.esm.js",
      // npm 上所有的文件都开启 cdn 服务地址
      "unpkg": "dist/vue.js",
      // jsdelivr cdn公共库
      "jsdelivr": "dist/vue.js",
      // TypeScript 的入口文件
      "typings": "types/index.d.ts",
      // 当你发布package时,具体那些文件会发布上去
      "files": [
        "src",
        "dist/*.js",
        "types/*.d.ts"
      ],
      // 声明该模块是否包含 sideEffects(副作用),从而可以为 tree-shaking 提供更大的优化空间。
      "sideEffects": false,
      "scripts": {
        "dev": "rollup -w -c scripts/config.js --environment TARGET:web-full-dev",
        "dev:cjs": "rollup -w -c scripts/config.js --environment TARGET:web-runtime-cjs-dev",
        "dev:esm": "rollup -w -c scripts/config.js --environment TARGET:web-runtime-esm",
        "dev:test": "karma start test/unit/karma.dev.config.js",
        "dev:ssr": "rollup -w -c scripts/config.js --environment TARGET:web-server-renderer",
        "dev:compiler": "rollup -w -c scripts/config.js --environment TARGET:web-compiler ",
        "dev:weex": "rollup -w -c scripts/config.js --environment TARGET:weex-framework",
        "dev:weex:factory": "rollup -w -c scripts/config.js --environment TARGET:weex-factory",
        "dev:weex:compiler": "rollup -w -c scripts/config.js --environment TARGET:weex-compiler ",
        "build": "node scripts/build.js",
        "build:ssr": "npm run build -- web-runtime-cjs,web-server-renderer",
        "build:weex": "npm run build -- weex",
        "test": "npm run lint && flow check && npm run test:types && npm run test:cover && npm run test:e2e -- --env phantomjs && npm run test:ssr && npm run test:weex",
        "test:unit": "karma start test/unit/karma.unit.config.js",
        "test:cover": "karma start test/unit/karma.cover.config.js",
        "test:e2e": "npm run build -- web-full-prod,web-server-basic-renderer && node test/e2e/runner.js",
        "test:weex": "npm run build:weex && jasmine JASMINE_CONFIG_PATH=test/weex/jasmine.js",
        "test:ssr": "npm run build:ssr && jasmine JASMINE_CONFIG_PATH=test/ssr/jasmine.js",
        "test:sauce": "npm run sauce -- 0 && npm run sauce -- 1 && npm run sauce -- 2",
        "test:types": "tsc -p ./types/test/tsconfig.json",
        "lint": "eslint src scripts test",
        "flow": "flow check",
        "sauce": "karma start test/unit/karma.sauce.config.js",
        "bench:ssr": "npm run build:ssr && node benchmarks/ssr/renderToString.js && node benchmarks/ssr/renderToStream.js",
        "release": "bash scripts/release.sh",
        "release:weex": "bash scripts/release-weex.sh",
        "release:note": "node scripts/gen-release-note.js",
        "commit": "git-cz"
      },
      // 代码质量检查
      "gitHooks": {
        "pre-commit": "lint-staged",
        "commit-msg": "node scripts/verify-commit-msg.js"
      },
      // 代码检查
      "lint-staged": {
        "*.js": [
          "eslint --fix",
          "git add"
        ]
      },
      // git仓库所在位置
      "repository": {
        "type": "git",
        "url": "git+https://github.com/vuejs/vue.git"
      },
      // 关键词
      "keywords": [
        "vue"
      ],
      // 作者
      "author": "Evan You",
      // 开源协议
      "license": "MIT",
      // bug地址
      "bugs": {
        "url": "https://github.com/vuejs/vue/issues"
      },
      // 主页
      "homepage": "https://github.com/vuejs/vue#readme",
      // 依赖
      "devDependencies": {
        "@babel/core": "^7.0.0",
        "@babel/plugin-proposal-class-properties": "^7.1.0",
        "@babel/plugin-syntax-dynamic-import": "^7.0.0",
        "@babel/plugin-syntax-jsx": "^7.0.0",
        "@babel/plugin-transform-flow-strip-types": "^7.0.0",
        "@babel/preset-env": "^7.0.0",
        "@babel/register": "^7.0.0",
        "@types/node": "^10.12.18",
        "@types/webpack": "^4.4.22",
        "acorn": "^5.2.1",
        "babel-eslint": "^10.0.1",
        "babel-helper-vue-jsx-merge-props": "^2.0.3",
        "babel-loader": "^8.0.4",
        "babel-plugin-istanbul": "^5.1.0",
        "babel-plugin-transform-vue-jsx": "^4.0.1",
        "babel-preset-flow-vue": "^1.0.0",
        "buble": "^0.19.3",
        "chalk": "^2.3.0",
        "chromedriver": "^2.45.0",
        "codecov": "^3.0.0",
        "commitizen": "^2.9.6",
        "conventional-changelog": "^1.1.3",
        "cross-spawn": "^6.0.5",
        "cz-conventional-changelog": "^2.0.0",
        "de-indent": "^1.0.2",
        "es6-promise": "^4.1.0",
        "escodegen": "^1.8.1",
        "eslint": "^5.7.0",
        "eslint-plugin-flowtype": "^2.34.0",
        "eslint-plugin-jasmine": "^2.8.4",
        "file-loader": "^3.0.1",
        "flow-bin": "^0.61.0",
        "hash-sum": "^1.0.2",
        "he": "^1.1.1",
        "http-server": "^0.11.1",
        "jasmine": "^2.99.0",
        "jasmine-core": "^2.99.0",
        "karma": "^3.1.1",
        "karma-chrome-launcher": "^2.1.1",
        "karma-coverage": "^1.1.1",
        "karma-firefox-launcher": "^1.0.1",
        "karma-jasmine": "^1.1.0",
        "karma-mocha-reporter": "^2.2.3",
        "karma-phantomjs-launcher": "^1.0.4",
        "karma-safari-launcher": "^1.0.0",
        "karma-sauce-launcher": "^2.0.2",
        "karma-sourcemap-loader": "^0.3.7",
        "karma-webpack": "^4.0.0-rc.2",
        "lint-staged": "^8.0.0",
        "lodash": "^4.17.4",
        "lodash.template": "^4.4.0",
        "lodash.uniq": "^4.5.0",
        "lru-cache": "^5.1.1",
        "nightwatch": "^0.9.16",
        "nightwatch-helpers": "^1.2.0",
        "phantomjs-prebuilt": "^2.1.14",
        "puppeteer": "^1.11.0",
        "resolve": "^1.3.3",
        "rollup": "^1.0.0",
        "rollup-plugin-alias": "^1.3.1",
        "rollup-plugin-buble": "^0.19.6",
        "rollup-plugin-commonjs": "^9.2.0",
        "rollup-plugin-flow-no-whitespace": "^1.0.0",
        "rollup-plugin-node-resolve": "^4.0.0",
        "rollup-plugin-replace": "^2.0.0",
        "selenium-server": "^2.53.1",
        "serialize-javascript": "^1.3.0",
        "shelljs": "^0.8.1",
        "terser": "^3.10.2",
        "typescript": "^3.1.3",
        "webpack": "~4.28.4",
        "weex-js-runtime": "^0.23.6",
        "weex-styler": "^0.3.0",
        "yorkie": "^2.0.0"
      },
      // 设置一些用于npm包的脚本命令会用到的配置参数
      "config": {
        "commitizen": {
          "path": "./node_modules/cz-conventional-changelog"
        }
      }
    }

    另外还有3个字段比较重要:

    // 本node包依赖的其他依赖包
        "peerDependencies": {
            "vue": "^2.5.2"
        },
        // 指明了该项目所需要的node.js版本
        "engines": {
            "node": ">=8.9.1",
            "npm": ">=5.5.1",
            "yarn": ">=1.3.2"
        },
        // 支持的浏览器
        "browserslist": [
            "last 3 Chrome versions",
            "last 3 Firefox versions",
            "Safari >= 10",
            "Explorer >= 11",
            "Edge >= 12",
            "iOS >= 10",
            "Android >= 6"
        ]
  • 相关阅读:
    SpringMVC学习笔记六:类型转换器及类型转换异常处理
    SpringMVC学习笔记五:HandlerExceptionResolver异常处理
    SpringMVC学习笔记四:SimpleMappingExceptionResolver异常处理
    SpringMVC学习笔记三:Controller的返回值
    SpringMVC学习笔记二:参数接受
    SSH+Ajax实现用户名重复检查(二)
    SSH+Ajax实现用户名重复检查(一)
    Java添加事件的四种方式
    用Java开发一个本地服务管理软件
    Java Web开发中的名词解释
  • 原文地址:https://www.cnblogs.com/mengfangui/p/11174583.html
Copyright © 2011-2022 走看看