如何使用 JS 配置文件和 Web 目标创建 npm 库?

And*_*ski 9 javascript rollup npm reactjs webpack

我创建了一个 UI JS 库,package.json很好,我将它捆绑在一起webpack,并且它在其中工作得很好npm(在node_modules/library目录中保持得很好)。

但是,我想通过配置文件来配置一些东西。假设我的库有一个BoxReact 组件(它渲染 100x100 的正方形并带有背景色):

// Box.js
export default function(props) {
   return <div style={{
       backgroundColor: props.color,
       width: "100px",
       height: "100px"
   }}>
       {props.children}
   </div>;
}
Run Code Online (Sandbox Code Playgroud)

我想提供添加配置文件的可能性,以便背景颜色默认为用户选择的颜色。

因此,我的库的用户在他的项目的根目录中创建了一个配置文件(我们称之为library.config.js),该文件具有如下内容:

// library.config.js
const BoxBackgroundColor = 'green';
export { BoxBackgroundColor }
Run Code Online (Sandbox Code Playgroud)

如果这个文件存在,lib 就知道这一点,用户可以简单地使用Box如下:

<Box />

并且color道具将是绿色的。

如何实现这样的目标?

问题是,当我捆绑我的库时,我不知道library.config.js文件是否存在。此信息可供用户项目中我的图书馆的用户使用。看来我想解决import我的require库中. library.config.js此异常require应在用户的项目捆绑阶段(当library.config.js文件可用时)解决。