2014-10-21 16 views
6

Tôi đang tìm kiếm trình tạo gói/bộ chỉnh sửa để sử dụng trong trang web ColdFusion của tôi. Tôi đã tìm kiếm hơn một giờ và chỉ tìm thấy một plugin phù hợp cho cfWheels. Thật không may, chúng tôi bị ràng buộc vào khuôn khổ một vào thời điểm này, vì vậy chúng tôi không thể sử dụng plugin đó.Coldfusion Bundler & Minification

Bất kỳ ai cũng có thể giới thiệu phương tiện để nhóm & giảm thiểu js/css của chúng tôi với ColdFusion FW1 không?

Tôi đang nghĩ đến việc "mượn" từ trình bao gói System.Web.Optimization của asp.net, nhưng điều đó có vẻ như quá mức giết tôi.

Cảm ơn!

+1

Bạn đã xem CFStatic (https://github.com/DominicWatson/cfstatic) chưa? Có tất cả những điều đó và hơn thế nữa. –

+1

CFStatic là tốt đẹp, nhưng tôi không bao giờ có được sự ấm áp và mờ nhạt từ việc sử dụng nó - dường như việc rút gọn các tệp JS & CSS không phải là điều mà CF nên làm. Tôi đã sử dụng nút với grunt để rút gọn khi các tệp được cập nhật. Tôi có mã tải các tập tin 'thô' khi tôi vượt qua một param URL để giúp tôi gỡ lỗi khi cần thiết. –

+0

Máy chủ web nào bạn đang sử dụng? Tôi sử dụng IIS và đang sử dụng IISpeed ​​(PageSpeed ​​for IIS) để tự động concat + rút gọn các tệp JS/CSS mà không phải sửa đổi bất kỳ mã nào trên bất kỳ dự án nào. Các tối ưu hóa được thực hiện bởi máy chủ web sau khi ColdFusion được thực hiện tạo nội dung HTML. (LƯU Ý: Tính năng này cực kỳ hữu ích cho việc phân phối trực tiếp/thời gian thực/được lưu trong bộ nhớ cache nhưng không được khuyến nghị để "phân phối" để phân phối lại.) –

Trả lời

4

Gần đây, chúng tôi đã thực hiện cùng một quyết định này. Cuối cùng, chúng tôi đã quyết định sử dụng Gulp, một công cụ dựa trên Javascript mà bạn sử dụng trong quá trình phát triển và đề xuất của tôi là bạn cũng làm như vậy. Gulp có một cộng đồng người dùng và rất nhiều plugin. Nó có thể xem các tập tin cho những thay đổi khi bạn phát triển và tự động nối lại, rút ​​gọn (và khoảng 1000 thứ khác - xem http://gulpjs.com/plugins/).

Sử dụng plugin Gulp có tên gulp-rev, các tệp được tự động đổi tên, như tệp-k34jzkl3.css, để ẩn bộ nhớ cache của trình duyệt khi thay đổi được thực hiện. Sử dụng một plugin gulp khác, gulp-manifest, chúng tôi tự động tạo một tệp JSON ánh xạ tệp CSS gốc tới tên bộ nhớ cache (ví dụ: "file.css": "file-k34jzkl3.css") và sau đó chúng tôi có một CFC đơn giản dịch những tên đó vào đúng vị trí trong HTML của chúng tôi. Đây là những gì tệp JSON manifest của chúng tôi trông giống như:

{ 
    "baseline.css": "/global/baseline-82bcd2ab92.css", 
    "user.css": "/global/user-0d1d32170c.css" 
} 

Và sau đó đánh dấu CFML của chúng tôi trông như thế này:

<link rel="stylesheet" href="#application.asset.getAsset("baseline.css")#"> 

nào tạo ra HTML như:

<link rel="stylesheet" href="/global/baseline-82bcd2ab92.css"> 

Tôi tạo ra một repo với mã số tại https://github.com/ghidinelli/assets.cfc