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 属性指向的是库的入口。通常有三种选择:
- 指向源代码入口文件,如 src/index.js;
- 指向打包后的开发版本,如 dist/library.js;
- 指向打包后的发布版本,如 dist/library.min.js
exports 字段,它定义了如何导出模块。具体来说,它将当前目录下的模块导出为两个子模块:
- “.”:表示当前目录下的所有文件都被视为一个模块,并导出一个类型声明文件和一个 JavaScript 文件。其中,“types” 属性指定了类型声明文件的路径,“import” 属性指定了 JavaScript 文件的路径。
- “./ai”:表示在当前目录下的 “ai” 文件夹中的所有文件都被视为一个模块,并导出一个类型声明文件和一个 JavaScript 文件。其中,“types” 属性指定了类型声明文件的路径,“import” 属性指定了 JavaScript 文件的路径。
2、问题点
webpack 不支持Package path . is not exported from package
解决
配置 alias解决