2009-10-06 29 views
12

Khi tôi phát triển ứng dụng, tôi muốn sử dụng jquery-1.3.2.js và khi triển khai nó, tôi muốn sử dụng jquery -1.3.2.min.js?chuyển đổi giữa jquery-1.3.2.js và jquery-1.3.2.min.js

Cách tốt nhất để chuyển đổi giữa hai chế độ này mà không cần nhận xét và bỏ ghi chú theo cách thủ công.

Cảm ơn.

+2

Tại sao bạn không chỉ luôn sử dụng min? – recursive

+0

đôi khi, tôi muốn gỡ lỗi vào một số chức năng jquery, tôi nghĩ rằng không phải là một min là dễ đọc hơn. –

Trả lời

2

Đặt tên cho cả hai tệp jquery.js ví dụ và đặt vào một số thư mục (libs) Khi bạn deply, không triển khai thư mục lib.

+0

Hoặc chỉ sử dụng liên kết tượng trưng. –

+0

Windows có các liên kết tượng trưng không? – middus

2

Tôi chắc chắn ai đó có thể dịch câu trả lời này thành asp.net: Tôi thực hiện điều kiện dựa trên số APPLICATION_ENVIRONMENT được xác định trong các dự án của mình. Không chắc chắn nếu có một điều tương tự trong asp.net, nhưng nếu bạn đang ở trên một máy chủ sản xuất, bạn có thể phục vụ .min - và trên một máy phát triển/thử nghiệm, bạn có thể phục vụ thư viện đầy đủ.

1

Nếu bạn đang lập trình thêm việc kê khai, thì cách tốt nhất là sử dụng

#if DEBUG 

trình biên dịch chỉ thị. Trong khu vực DEBUG sử dụng thư viện được mở rộng hoàn toàn của bạn và trong phần không DEBUG (khi bạn biên dịch trong Chế độ phát hành để xuất bản), hãy đặt phiên bản .min. Sau đó, bạn chỉ cần lo lắng về việc đảm bảo bạn biên dịch Bản phát hành khi bạn phát trực tiếp.

Hoặc, có các tệp .config riêng biệt cho các môi trường phát hành khác nhau của bạn và chỉ định javascript của bạn bao gồm trong đó.

MSDN link to compiler directives.

+0

Điều này có vẻ là điều tương tự mà tôi đang nói đến trong câu trả lời của tôi. – gnarf

+0

Có vẻ như vậy. Ngoại trừ tôi đề xuất 2 lựa chọn thay thế và tôi cũng bao gồm các ví dụ và liên kết, thường hữu ích hơn. Ngoài ra điều này được gắn thẻ asp.net-mvc, vì vậy câu trả lời của tôi là .net cụ thể. Vì vậy, thực sự, không phải như vậy. – Evildonald

0

Bạn có thể đặt tên tập lệnh là jquery.js. Và thêm hai tệp js khác. Đầu tiên sẽ được đặt tên là jquery.js.debug, onw jquery.js.release khác. Và khi biên dịch ứng dụng, hãy sử dụng tệp js thích hợp.

Tôi đang sử dụng nó để thay đổi tệp web.config. Thông tin bổ sung có thể được thành lập here.

0

Nếu bạn đang sử dụng django, bạn có thể sử dụng django-compress để xử lý việc này một cách tự động.

8

Tôi có phương pháp mở rộng HtmlHelper để tải các tệp JavaScript của mình. Nó trông giống như thế này ...

public static string JavascriptTag(this HtmlHelper html, string javascriptName) 
{ 
    var format = "<script src=\"/Content/Scripts/{0}.js\" type=\"text/javascript\"></script>\r\n"; 

#if (!DEBUG) 
    javascriptName += ".min"; 
#endif 

    return string.Format(format, javascriptName); 
} 

nào được gọi là rất đơn giản thích:

<%= Html.JavascriptTag("jquery-1.3.2") %> 
<%= Html.JavascriptTag("general") %> 

tôi có thể sử dụng Công ước này bởi vì tôi cũng có một nhiệm vụ xây dựng mà sẽ đưa tất cả các file JS bên trong nội dung của tôi/tập lệnh thư mục, thu nhỏ chúng và sau đó chèn .min vào tên tệp.

Nếu bạn không có mà sang trọng, bạn có thể sử dụng một biến thể như sau:

public static string JavascriptTag(this HtmlHelper html, string devFileName, string liveFileName) 
{ 
    var format = "<script src=\"{0}\" type=\"text/javascript\"></script>\r\n"; 

    var fileNameToUse = devFileName; 
#if (!DEBUG) 
    fileNameToUse = liveFileName; 
#endif 

    return string.Format(format, fileNameToUse); 
} 

Mà sau đó có thể được gọi như:

<%= Html.JavascriptTag("/Content/Scripts/jquery-1.3.2.js", "/Content/Scripts/jquery-1.3.2.min.js") %> 
<%= Html.JavascriptTag("/Content/Scripts/general.js", "/Content/Scripts/general.min.js") %> 

Một thêm tiền thưởng của phương pháp trên là bạn có thể sử dụng CDN cho các thư viện, vd

<%= Html.JavascriptTag("/Content/Scripts/jquery-1.8.2.js", "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.2.min.js") %> 
Các vấn đề liên quan