gpt4 book ai didi

css - 玩!使用 Less/CSS 的框架

转载 作者:行者123 更新时间:2023-11-28 11:26:07 26 4
gpt4 key购买 nike

我正在使用 Play!框架 ( 2.6.2 )、Scala ( 2.12.2 ) 并尝试集成 LESS进去。

我正在使用 this他们的文档网站上的教程。

在我的 build.sbt 文件中,这是适当的代码:

lazy val root = (project in file(".")).enablePlugins(PlayJava, PlayEbean, SbtWeb)

includeFilter in (Assets, LessKeys.less) := "*.less"
excludeFilter in (Assets, LessKeys.less) := "_*.less"

LessKeys.compress in Assets := true

在我的 plugin.sbt 文件中添加了:

addSbtPlugin("com.typesafe.sbt" % "sbt-less" % "1.1.2")

我有 2 个扩展名为 .less 的文件。 main.less 和 login.less 在/public 目录下的/css 文件夹中。

当我在我的目标文件夹中编译和运行元素时,文件保持为 .less 文件,不会被编译成 .css 文件。

在我的 HTML 模板代码中有这一行:

<link rel="stylesheet" media="screen" href="@routes.Assets.versioned("css/login.css")">

如果我将扩展名从 login.less 更改为 login.css,则指向样式表的链接有效,但变量似乎无法在 login.less 文件中访问。

样式表的链接不能像预期的那样使用 .css 扩展名,因为框架似乎没有将文件编译为 .css,它似乎只是将它们保留为 .less 文件。因此,我只是在 .css 文件上收到 404。如果我将链接中的扩展名更改为 .less,它就可以正常工作,但是我从 main.less 导入到 login.less 的变量不起作用。

有没有我遗漏的步骤?有人可以解释为什么框架不会将 .less 文件编译为目标文件夹中的 .css 文件吗?

编辑 1: 在尝试了@marcospereira 建议的修复之后:我认为该应用程序正在尝试编译这两个文件,但也向我返回一个错误并且应用程序根本无法运行。

[info] LESS compiling on 2 source(s)
-------
Unexpected exception
JsTaskFailure: java.lang.NoSuchMethodError: org.mozilla.javascript.ScriptRuntime.setObjectProp(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;Lorg/mozilla/javascript/Context;Lorg/mozilla/javascript/Scriptable;)Ljava/lang/Object;
at io.apigee.trireme.node10.main.trireme._c_anonymous_1(trireme.js:37)
at io.apigee.trireme.node10.main.trireme.call(trireme.js)
at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394)
at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3102)
at io.apigee.trireme.node10.main.trireme.call(trireme.js)
at io.apigee.trireme.core.internal.ScriptRunner.runScript(ScriptRunner.java:762)
at io.apigee.trireme.core.internal.ScriptRunner$4.run(ScriptRunner.java:702)
at org.mozilla.javascript.Context.call(Context.java:488)
at org.mozilla.javascript.ContextFactory.call(ContextFactory.java:504)
at io.apigee.trireme.core.internal.ScriptRunner.call(ScriptRunner.java:697)
at io.apigee.trireme.core.ScriptFuture.run(ScriptFuture.java:183)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
-------

最佳答案

您需要在您的机器上安装 node.js。

如果您没有安装 node.js,那么它将回退到基于 Trireme Java 的 JavaScript 引擎,该引擎不能很好地工作并导致该错误

关于css - 玩!使用 Less/CSS 的框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45861021/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com