我正在为学校做一个项目,想使用 less 库。我尝试了类似的方法
<link rel="stylesheet/less" type="text/css" href="style.less">
,但这不起作用,我收到错误 XMLHttpRequest 无法加载 这file:/// [..] /style.less. Cross origin requests are only supported for HTTP.
意味着我基本上需要为此实现运行服务器。然而,由于这应该是一个非技术类的独立项目,因此运行服务器是不可能的。所以,我的问题是:
如何在文档级别使用 less,就像编写 css 等效项一样
<style>div{color:#F00}</style>?
在谷歌上搜索“文档级别较少”没有返回任何相关结果。
您不能在文档级别使用 LESS。Less 是 CSS 的预编译器,因此您应该在站点中使用最终产品 (css)。您不需要网络服务器来在网络浏览器中显示本地 html + css。您可以将 LESS 编译为 CSS 客户端(通过包含 less.js)或服务器端,源代码捆绑了一个编译器。另请阅读:是否有办法绕过 Javascript / jQuery 的本地访问同源策略?
例如,当我从网络浏览器中的本地文件加载它时,如下所示的文件也可以工作:
<html>
<head>
<link rel="stylesheet" media="(max-width: 767px)" href="green.less" />
<link rel="stylesheet" media="(min-width: 768px)" href="red.less" />
<script type="text/javascript">less = { env: 'development' };</script>
<script src="less.js" type="text/javascript"></script>
</head>
<body>
<p>color this text</p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
更新
当您确定 javascript 工作并且 less.js 加载并且您仍然看不到您的样式时,它们可能是您的 LESS 文件中的错误或拼写错误。如果出现错误,您的 LESS 文件将无法编译,因此它们将是任何 CSS,并且您将看不到任何样式。默认情况下,less.js 不会在浏览器中显示错误。添加<script type="text/javascript">less = { env: 'development' };</script>到您的源以允许浏览器中显示更少的错误(来自:/sf/answers/790230031/)。
例子:
