我在一个网站上工作,我需要在暗模式和亮模式之间切换。这两种模式使用来自node_modules(来自一个包)的不同CSS文件。现在,我们如何动态导入和使用来自node_modules的CSS文件?
常规导入import cssfile from 'package-name/path/to/cssfile'
工作,但是将链接href分配给'package-name/path/to/cssfile'
会导致Not Found错误。
使用import语句导入时,CSS文件可以正常工作。但是,要求是基于切换导入文件。
2条答案
按热度按时间8ljdwjyq1#
您不能以这种方式继续,因为node_modules包在运行时无法直接访问。
在你的项目中,你必须声明两个css,比如“dark.css”和“light.css”。
在
dark.css
上,你可以使用@import(或者任何你想要的,取决于你是在sass,less等)从node_modules导入css:@import '~package-name/path/to/cssfile_dark'
你必须对light.css做同样的事情。这样,在构建项目时,您将生成2个CSS(检查您的conf以添加它们),dark.css和light.css将在运行时访问,这意味着使用href链接。
最好的,
El
knpiaxh12#
我认为这不是动态加载css的问题。
对于基本的解决方案,必须以不同的方式应用暗模式。
<link />
标记(不推荐,你尝试过的)。<html>
或<body>
等标记上用于标识暗模式的类或属性。