在多个SPA应用程序中共享CSS(反应)

时间:2019-01-31 19:59:43

标签: javascript css reactjs express

目前正在研究几种微SPA是不知道对方的,他们都生活在一个Express环境。我试图导入一个全局CSS文件之外的应用程序的生命,但它不承认它。

使用@import url(assets/global.css)不起作用,我认为这是因为CSS文件位于应用程序“生态系统”之外。

我不想简单地添加一个<link rel="stylesheet" href="assets/global.css"/>index.html因为我想global.css与每个被捆绑应用独特的CSS在内置的文件。

时,有可以在多个应用中使用的方法来创建和导入和全局文件?将我需要它,它自己的节点模块,并引用这样的说法?这似乎有点令人费解做它的方式。

enter image description here

2 个答案:

答案 0 :(得分:0)

一种选择是将常见组件作为npm软件包发布,然后将它们作为依赖项添加到您的微型项目中。这样,您就不必为全局文件添加引用。但是,如果希望私有npm软件包避免公众使用它们,则托管它们可能会产生定价。

答案 1 :(得分:0)

引用文件超出项目范围是不安全的。如果您在其中一个微服务中的某处执行console.log(__dirname),则会看到当前路径从src文件夹开始,并且您将无法访问该目录之外的任何内容(除非您要自己执行Ajax服务器,这将是很奇怪)。但是,您的html文件确实可以访问公用文件夹中的所有内容,因为webpack会编译所有内容并将其放在此处。

我将使用诸如Gulp之类的任务自动化工具来创建一个任务,该任务将您的Assets文件夹复制到每个微服务的public(或src)文件夹中,然后将其引用到该位置。