typescript - 需要帮助来发布 NPM Typescript 包
问题描述
我已经发布了库,但是有一个问题。我需要做这样的事情来访问我的代码:
const {
default: { getContrast },
} = require('@akashshyam/color-utilities/lib/index');
console.log(getContrast('#ffffff'));
有两个问题:
- 我需要使用
lib
它应该只是的文件夹@akashshyam/color-utilities/index
- 我已经导出了一个默认对象。但是要访问它,我需要使用该
default
属性
这是 package.json
{
"main": "lib/index.js",
"types": "lib/index.d.ts",
"scripts": {
"build": "tsc",
"test": "mocha --reporter spec --require ts-node/register src/**/*.test.ts",
"prepare": "npm run build",
"lint": "eslint",
"format": "prettier --write \"src/**/*.ts\" \"src/**/*.js\"",
"prepublishOnly": "npm run test && npm run lint",
"preversion": "npm run lint",
"version": "npm run format && git add .",
"postversion": "git push && git push --tags"
},
"files": [
"/lib"
],
}
现在,编译为 vanilla JS 前后的文件夹结构:
除index.js
具有一个或多个导出功能外的所有文件。我正在创建一个index.js
包含所有功能的对象:
import { getContrast } from './colorContrast';
import { HSLToHex, HSLToRGB, RGBToHSL, RGBToHex, hexToHSL, hexToRGB } from './colorConversion';
import { separateHSL, separateRGB } from './colorSeparation';
import { validateHSL, validateHex, validateRGB } from './colorValidators';
export default {
getContrast,
HSLToHex,
HSLToRGB,
RGBToHSL,
RGBToHex,
hexToHSL,
hexToRGB,
separateHSL,
separateRGB,
validateHSL,
validateHex,
validateRGB,
};
另外,我想将这些多个文件合并到一个文件中并缩小代码。我目前正在使用 typescript 编译器来编译这些文件。我尝试了 webpack,但出现了一些错误。我愿意使用捆绑器,但请提供配置。我希望你们能对这些观点有所了解。提前致谢!
解决方案
推荐阅读
- typescript - 在 Typescript 中组合类型 - 类型上不存在属性
- php - 如何将 $_POST 中的多个复选框数组保存在变量中
- windows - 一个 WSH JScript 实例与另一个实例的 StdIn 和 StdOut 通信
- c - 在 C 中写入文本文件(使用 ubuntu 运行)
- deep-learning - torch.unsqueeze 和 target.unsqueeze 之间的区别
- julia - Julia - 将向量组合到矩阵中
- javascript - 流星和反应地图返回未定义,我知道数据在那里但它加载,尽管等待 isLoading
- r - R中没有重复的滚动连接
- sql - 在SQL中查找每个组对应的第N个值和平均值
- python - 嵌套字典有问题