Play framework 2.1.x не будет компилировать Twitter Bootstrap 3 МЕНЬШЕ

Я пытаюсь настроить платформу Play 2.1.1 с Twitter Bootstrap 3, используя файлы LESS.

Я поместил загрузочные файлы LESS в app\assets\stylesheets\bootstrap.

Я обновил конфигурацию своего проекта (Build.scala), чтобы скомпилировать только основной файл bootstrap.less (импортируя остальные файлы):

val main = play.Project(appName, appVersion, appDependencies).settings(
    lessEntryPoints <<= baseDirectory(customLessEntryPoints),
    javascriptEntryPoints <<= baseDirectory(customJavascriptEntryPoints)
)

def customLessEntryPoints(base: File): PathFinder = (
    (base / "app" / "assets" / "stylesheets" / "bootstrap" / "bootstrap.less") +++
    (base / "app" / "assets" / "stylesheets" / "*.less")
)

def customJavascriptEntryPoints(base: File): PathFinder = (
  (base / "app" / "assets" / "javascripts" * "*.js")
)

Не могу скомпилировать Bootstrap, получаю следующее:

Expected )
In ...\app\assets\stylesheets\bootstrap\mixins.less at line 0.

Проблема, похоже, связана с параметрами миксина, разделенными точкой с запятой. Когда я заменяю эти точки с запятой запятыми, это работает.

Нужны ли запятые компилятору Play LESS? Нужно ли заменять каждую точку с запятой запятой или можно настроить компилятор Play LESS?

Спасибо

ИЗМЕНИТЬ:

Здесь есть официальная проблема: https://github.com/playframework/playframework/issues/1423.

Кажется, мне нужно дождаться обновления Play с новой версией компилятора LESS. Тем временем я буду использовать внешний компилятор.


person arcane86    schedule 09.08.2013    source источник
comment
пожалуйста, добавьте свое редактирование в качестве ответа на свой вопрос (и примите его)   -  person Bass Jobsen    schedule 11.08.2013
comment
та же проблема :) подождите тоже :)   -  person Mik378    schedule 11.08.2013
comment
Я прочитал Edit, но не могу найти решение. Кто-то может объяснить? Спасибо   -  person Fred K    schedule 12.08.2013


Ответы (1)


Вот временное решение, опубликованное парнем mica16 из github:

1) Я установил плагин, следуя документации: https://github.com/jmparsons/play-lessc (в приведенном примере есть ошибка => команда должна быть: npm install -g less, а не npm install -g lessc).

2) В plugins.sbt я добавил следующие строки:

resolvers += "JMParsons Releases" at "http://jmparsons.github.io/releases/"

addSbtPlugin("com.jmparsons" % "play-lessc" % "0.0.8")

(убедитесь, что вы разделяете их прыжком по строке)

3) Я открыл свой build.scala, вставил строки, указанные плагинами, и добавил следующие:

def customLessEntryPoints(base: File): PathFinder =
(base / "app" / "assets" / "stylesheets" * "bootstrap.less") +++
(base / "app" / "assets" / "stylesheets" * "main.less") (main.less is my custom css)

По причине, которую я не могу определить (я даже не ищу ее сейчас), вы должны поместить файлы без начальной загрузки непосредственно в корневую папку таблиц стилей. В противном случае я не смог бы скомпилировать эти файлы.

4) Я указал строку html, касающуюся css:

<link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/bootstrap.min.css")">

5) запускаю play run и все заработало.

Изменить. Как кто-то спросил: есть ли способ установить плагин lessc без установки jsnode и npm?

person Fred K    schedule 13.08.2013