在多个微前端应用程序之间共享 LESS 变量

Share LESS variables between multiple micro-frontends applications

我想知道是否可以在不同的 React 项目之间共享 LESS 变量。我正在使用 Single-SPA 构建微前端架构。我的微前端正在使用一些共享组件,例如 react-microfrontend example does with react-mf/styleguide。除此之外,我还需要共享一些 LESS 变量(例如颜色或排版),这样我就可以在我的样式指南项目中同样定义它们一次,然后在我将定义的每个微前端中引用它们。那可能吗 ?如果是的话,你能向我建议一种方法吗?我想解决方案是使用 webpack,但我找不到正确的方法。

我找到了两个可能的解决方案:

CDN

// index.less file of my new app

@import url(https://your.cdn.url/file.less);

使用 CDN 提供 LESS 文件,这样它就可以导入到我们想要的每个应用程序中。在 import 语句之后我们可以使用 less 文件包含的所有变量。

NPM 包

将 LESS 文件发布为 npm 包,以便可以将文件作为依赖项导入到您需要的每个应用程序中(npm installyarn add)。

我使用第一种方法开始。如果其他人有不同的想法,欢迎您!