问题描述
我想弄清楚是否可以在不同的 React 项目之间共享 LESS 变量。我正在使用 Single-SPA 来构建微前端架构。我的微前端正在使用一些共享组件,例如 react-microfrontend example 与 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 install
或 yarn add
)中的依赖项导入。
我使用第一种方法开始。如果其他人有一些不同的想法,欢迎您!