# package.json 文件常用配置

# 1. 普通业务项目开发

{
  // nmp scripts
  "scripts": {
    "start": "npm run serve",
    "serve": "cross-env NODE_ENV=development webpack serve",
    "build": "cross-env NODE_ENV=production webpack",
  },

  // 运行依赖
  "dependencies": {
    "vue": "^2.6.0"
  },

  // 开发依赖
  "devDependencies": {
    "cross-env": "^7.0.3",
  }
}

# 2. npm 包开发

package.json:

{
  // @fe 为 scope
  "name": "@fe/flowchart-editor",
  
  "version": "1.0.3",

  // 入口文件
  "main": "./lib/index.js",

  // 入口文件(ES),webpack 会优先使用 module 指定的 esm
  "module": "./es/index.js",

  // 类型文件
  "types": "./types/index.d.ts",
  // 等价与 types
  "typings": "./types/index.d.ts",

  // webstorm 使用的类型文件
  "web-types": "vetur/web-types.json"
  
  // vscode 使用的 vetur
  "vetur": {
    "tags": "vetur/tags.json",
    "attributes": "vetur/attributes.json"
  },

  // 前置依赖、同等依赖,要求使用该包的项目具备的依赖
  "peerDependencies": {
    "vue": "^2.6.0",
    "vue-template-compiler": "^2.6.0"
  },
}

# 3. cli 开发

目录:

my-project/
  src/
    index.js
  package.json

package.json:

{
  // 命令行指令 及 对应可执行文件
  "bin": {
    "my-cli": "./src/index.js"
  }
}

./src/index.js:

#!/usr/bin/env node

// 上面这句话指示用 哪个应用程序执行此文件

console.log('hehe');

全局安装及使用

  • 安装

    cd my-project
    
    # 将 my-project 安装到全局 node_modules
    npm link
    
  • 使用

    my-project
    

# 4. 参考

本章目录