package.json

115 阅读1分钟

1、配置讲解

{
  "name": "sdk",
  "version": "1.2.2",
  "description": "Typescript for AI assistant",
  "type": "module",
  "main": "./index.cjs", 
  "module": "./index.js",
  "types": "./index.d.ts",
  "dependencies": {
    "eventemitter3": "5.0.1",
    "protobufjs": "7.2.5"
  },
  "browserslist": [
    ">0.02%",
    "not ie < 11"
  ],
  "exports": {
    ".": {
      "types": "./index.d.ts",
      "import": "./index.js",
      "require": "./index.cjs"
    },
    "./ai": {
      "types": "./ebg/index.d.ts",
      "import": "./ebg.js",
      "require": "./ebg.cjs"
    },
    "./package.json": "./package.json"
  }
}

其中, main 属性指向的是库的入口。通常有三种选择:

  1. 指向源代码入口文件,如 src/index.js;
  2. 指向打包后的开发版本,如 dist/library.js;
  3. 指向打包后的发布版本,如 dist/library.min.js

exports 字段,它定义了如何导出模块。具体来说,它将当前目录下的模块导出为两个子模块:

  1. “.”:表示当前目录下的所有文件都被视为一个模块,并导出一个类型声明文件和一个 JavaScript 文件。其中,“types” 属性指定了类型声明文件的路径,“import” 属性指定了 JavaScript 文件的路径。
  2. “./ai”:表示在当前目录下的 “ai” 文件夹中的所有文件都被视为一个模块,并导出一个类型声明文件和一个 JavaScript 文件。其中,“types” 属性指定了类型声明文件的路径,“import” 属性指定了 JavaScript 文件的路径。

2、问题点

webpack 不支持Package path . is not exported from package

解决

配置 alias解决