如何在服务器端包含javascript文件?

时间:2011-10-14 08:08:58

标签: javascript server-side

我想在服务器端的另一个JS文件中包含JS文件,以防止从客户端加载复制粘贴和多个JS文件。 就像PHP一样包含('file.js')。

4 个答案:

答案 0 :(得分:3)

没有内置方法可以包含JavaScript文件中的其他JavaScript文件...但您可以将它们添加到DOM中 - >

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);
}

使用示例:

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

答案 1 :(得分:2)

正如Supercharging javascript文章建议的那样 - 使用PHP,您可以阅读所有.js文件,并创建一个大型js文件,您将一件式发送。

这是文章中示例的简化,只是为了让您入门:

<?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'");
    }
}
?>

我还建议阅读完整的文章Supercharging JavaScript in PHP以获取更多信息。

答案 2 :(得分:1)

JSfile =“1.js,2.js,3.js”

for loop it

文件撰写();

答案 3 :(得分:0)

您必须使用脚本加载器,我想推荐在Twitter上工作的Dustin Diaz的script.jsProject Page on Github。 这是你如何使用它 假设你有一个jquery插件要加载到页面这里是你应该做的

// 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 :)
})

示例也来自项目页面。以下是您应该遵循的步骤

  1. 首先加载Script.js文件
  2. 现在包含依赖加载器脚本,该脚本加载所有其他想要的脚本async [依赖加载器脚本的内容将如上所述]