【发布时间】:2025-12-05 08:30:01
【问题描述】:
我在 web 应用程序中使用较少。在开发环境中,我有类似的东西
<head>
<link rel="stylesheet/less" type="text/css" href="test.less"/>
<script src="//cdnjs.cloudflare.com/ajax/libs/less.js/3.0.2/less.min.js" ></script>
</head>
这工作正常:我的 test.less 文件被下载并通过 less 自动转换为有效的 css。
现在,如果用户在网站的特定部分导航,我需要下载另一个 .less 文件。为此,我像这样动态创建一个元素:
<link rel="stylesheet/less" type="text/css" href="test2.less"/>
并将其附加到头部。
这不起作用 - 至少在 Chrome 66.0.3359.117 中 - 因为浏览器根本没有触发文件下载。
我通过修改链接'rel'属性解决了这个问题:
<link rel="stylesheet" type="text/css" href="test2.less"/>
这样,浏览器就可以正确下载文件test2.less;但是,它的内容不会被less自动解析,因此不会转换为有效的.css
我认为下载 less.js 时,它会通过搜索所有具有属性 rel = "stylesheet/less" 的元素并解析它们来执行 - 停止。
但在那之后,它“停止”监听其他异步下载的 .less 文件。
有没有办法“触发”更少的解析?
谢谢
【问题讨论】: