2013-09-25 24 views
5

Tôi biết Jade là để sản xuất HTML thay vì JavaScript, nhưng đối với một dự án tôi đang làm việc, nó sẽ tuyệt vời và tiết kiệm thời gian rất lớn, nếu tôi có thể làm điều này mà không cần thêm một đường ống trong mỗi dòng:Làm thế nào để tạo một tệp JavaScript thuần túy với Jade

| (function(){ 
|  //Some JavaScript Code 
|  var foo="#{bar}"; 
|  console.log("This a JavaScript file generated with Jade"); 
| })() 

ý tưởng là để sử dụng đầu ra của mẫu này là nguồn gốc của một Javascript thường xuyên bao gồm như sau:

<script type="application/javascript" src="foo.generated.js"></script> 

vì vậy, làm một cái gì đó như thế này:

script(type="application/javascript"). 
    (function(){ 
     //Some JavaScript Code 
     var foo="#{bar}"; 
     console.log("This a JavaScript file generated with Jade"); 
    })() 

sẽ không giải quyết được sự cố của tôi, vì tôi cần xuất JavaScript thuần túy không có phần tử vùng chứa DOM.

Có cách nào khác để thực hiện việc này mà không thêm đường ống vào mọi dòng không? Hoặc tôi phải giả định rằng Jade được thiết kế để sản xuất chỉ HTML, bỏ cuộc, và tìm giải pháp khác mà không có Jade?

Cảm ơn trước!

+3

Bạn đang tạo tệp * JavaScript * với Jade? Tại sao? – Ryan

+0

@minitech Tôi biết Jade không phải là công cụ lý tưởng để làm điều đó, nhưng tôi hỏi vì dự án tôi đang làm việc, có một tính năng cho phép tôi tạo mô-đun HTML từ mô hình nội bộ và cho một chức năng cụ thể Tôi phải phát triển, tôi sẽ tiết kiệm rất nhiều thời gian và dòng mã nếu tôi có thể sử dụng cùng một tính năng đã được phát triển để tạo ra một tệp javascript thuần túy. Cảm ơn! –

+0

Vì vậy, JavaScript của bạn có chứa HTML được nhúng không? – Ryan

Trả lời

0

Sản xuất tất cả XML, bao gồm HTML. Và ngọc bích không được thiết kế để đúc các khối javascript lớn. Điều tốt nhất bạn có thể làm là tạo ra một phương thức để có được những khối lớn này, và sửa đổi các biến. Như nó đang làm trong Ví dụ.

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