0

我已经发布了库,但是有一个问题。我需要做这样的事情来访问我的代码:

const {
    default: { getContrast },
} = require('@akashshyam/color-utilities/lib/index');

console.log(getContrast('#ffffff'));

有两个问题:

  1. 我需要使用lib它应该只是的文件夹@akashshyam/color-utilities/index
  2. 我已经导出了一个默认对象。但是要访问它,我需要使用该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,但出现了一些错误。我愿意使用捆绑器,但请提供配置。我希望你们能对这些观点有所了解。提前致谢!

4

0 回答 0