12

Tôi đang cố gắng thiết lập một khung Play 2.1.1 với Twitter Bootstrap 3 bằng cách sử dụng các tệp LESS.Play framework 2.1.x sẽ không biên dịch Twitter Bootstrap 3 LESS

Tôi đã đặt các tệp LST khởi động vào app\assets\stylesheets\bootstrap.

Tôi đã cập nhật cấu hình dự án của tôi (Build.scala), để chỉ biên dịch bootstrap.less tập tin chính (nhập khẩu các tập tin khác):

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") 
) 

tôi không thể quản lý để biên dịch Bootstrap, tôi nhận được như sau:

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

Vấn đề dường như đến từ các tham số mixin được phân tách bằng dấu chấm phẩy. Khi tôi thay thế các dấu chấm phẩy này bằng dấu phẩy nó hoạt động.

Trình biên dịch Play LESS có cần dấu phẩy không? Tôi có cần phải thay thế mỗi dấu chấm phẩy bằng dấu phẩy hoặc tôi có thể cấu hình trình biên dịch Play LESS không?

Cảm ơn

EDIT:

Có một vấn đề chính thức ở đây: https://github.com/playframework/playframework/issues/1423

Dường như tôi cần phải chờ đợi cho một bản nâng cấp của Chơi với một phiên bản mới của trình biên dịch LESS. Tôi sẽ sử dụng một trình biên dịch bên ngoài trong khi đó.

+0

vui lòng thêm chỉnh sửa của bạn làm câu trả lời cho câu hỏi của riêng bạn (và chấp nhận câu hỏi đó) –

+0

cùng vấn đề :) chờ cũng :) – Mik378

+0

Tôi đã đọc Chỉnh sửa nhưng không thể tìm thấy giải pháp. Ai đó có thể giải thích?cảm ơn –

Trả lời

5

Đây là một giải pháp tạm thời đăng tải bởi các mica16 anh chàng từ github:

1) Tôi đã cài đặt plugin sau khi tài liệu: https://github.com/jmparsons/play-lessc (đã xảy ra lỗi trong ví dụ thể hiện => lệnh phải: npm install -g less và không npm install -g lessc).

2) Trong plugins.sbt, tôi đã thêm những dòng này:

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

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

(chắc chắn rằng bạn tách chúng bằng một dòng nhảy)

3) Tôi mở build.scala tôi và tôi chèn các ngành nghề quy định bởi các plugin và thêm những:

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

đối với một lý do tôi không thể xác định (tôi thậm chí không tìm kiếm nó cho bây giờ), bạn nên đặt bootstrap ít file của bạn trực tiếp trong stylesheets r oot thư mục. Nếu không, tôi không thể làm cho những tập tin biên dịch.

4) tôi đã chỉ định dòng html liên quan đến css:

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

5) Tôi chạy play run và cả làm việc.

Chỉnh sửa - Khi ai đó hỏi: có cách nào để cài đặt plugin lessc mà không cài đặt jsnode và npm không?

Các vấn đề liên quan