我已经发布了库,但是有一个问题。我需要做这样的事情来访问我的代码:
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,但出现了一些错误。我愿意使用捆绑器,但请提供配置。我希望你们能对这些观点有所了解。提前致谢!