2011-10-14 30 views
5

Tôi muốn bao gồm tệp JS bên trong một tệp JS khác, ở phía máy chủ, để ngăn việc sao chép-dán và nhiều tệp JS tải từ máy khách. Giống như include ('file.js') như PHP sẽ làm.Tôi làm cách nào để đưa các tệp javascript vào phía máy chủ?

+0

Cảm ơn bạn đã trả lời nhưng tôi chỉ muốn nó được thực hiện trên máy chủ, với một tệp tải javascript duy nhất từ ​​máy khách. Tôi muốn biến .js thành .php (hoặc viết lại) và sử dụng PHP bao gồm và sau đó là tiêu đề ('content-type: text/javascript). Bất kỳ giải pháp nào khác? –

Trả lời

2

Supercharging javascript đề xuất bài viết - với PHP bạn có thể đọc tất cả tệp .js của mình và tạo một tệp js lớn mà bạn sẽ gửi trong một phần.

Đây là một đơn giản hóa ví dụ từ bài viết, chỉ để giúp bạn bắt đầu:

<?php 
define('SCRIPT_DIR', $_SERVER['DOCUMENT_ROOT'] . '/script/'); 

$files = array(
    'jquery.js', 
    'myLib.js', 
    'site.js' 
); 

header('Content-Type: text/javascript'); 
foreach (files as $file) { 
    if (@readfile(SCRIPT_DIR . $file) === false) { 
     error_log("javascript.php: Error reading file '$file'"); 
    } 
} 
?> 

Tôi cũng muốn giới thiệu để đọc toàn bộ bài viết Supercharging JavaScript in PHP để có được thêm thông tin.

+0

Vâng, đó là những gì tôi đang nghĩ đến. Tôi không cần một thư viện cho điều đó. Tôi chỉ có thể làm điều đó bản thân mình trong một vài dòng mã. Cảm ơn :) –

3

Không có được xây dựng theo cách để bao gồm các file JavaScript khác từ một tập tin JavaScript ... nhưng bạn có thể thêm chúng vào DOM - sử dụng>

function addJavascript(jsname,pos) { 
    var th = document.getElementsByTagName(pos)[0]; 
    var s = document.createElement('script'); 
    s.setAttribute('type','text/javascript'); 
    s.setAttribute('src',jsname); 
    th.appendChild(s); 
} 

Ví dụ:

addJavascript('newExternal.js','body'); 
+0

Tôi chắc chắn sẽ bỏ phiếu này cho mã dễ thương, nhưng xử lý tốt hơn vấn đề đường dẫn, thứ tự tải tập lệnh và quản lý phụ thuộc vào trình tải tập lệnh :) – Deeptechtons

0

Bạn sẽ phải sử dụng bộ tải tập lệnh và tôi muốn giới thiệu script.js bởi Dustin Diaz, người làm việc tại Twitter. Project Page on Github. Đây là cách bạn sử dụng nó giả sử bạn có một plugin jquery được nạp trong một trang ở đây là những gì bạn nên làm

// load jquery and plugin at the same time. name it 'bundle' 
$script(['jquery.js', 'my-jquery-plugin.js'], 'bundle') 

// load your usage 
$script('my-app-that-uses-plugin.js') 


/*--- in my-jquery-plugin.js ---*/ 
$script.ready('bundle', function() { 
    // jquery & plugin (this file) are both ready 
    // plugin code... 
}) 


/*--- in my-app-that-uses-plugin.js ---*/ 
$script.ready('bundle', function() { 
    // use your plugin :) 
}) 

dụ cũng là từ trang của dự án. Dưới đây là các bước bạn nên làm theo

  1. Nạp Script.js nộp đầu tiên
  2. Bây giờ bao gồm kịch bản bộ nạp phụ thuộc mà nạp tất cả các khác muốn kịch bản async [nội dung của sự phụ thuộc nạp kịch bản sẽ như thế nào trên]
1

JSfile = "1.js, 2.js, 3.js"

cho vòng lặp nó

document.write();

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