安全地包装JS文件,以便在它们连接时它们仍然可以工作

时间:2012-08-20 12:03:48

标签: php javascript minify

我使用PHP来连接'几个JS和CSS文件。

CSS很好。然而,JS打破了,但只有一些文件中断。然后我停止添加它们,然后它们再次作为单个文件工作。

有没有办法可以安全地包装每个文件内容以确保它不会破坏?并单独行动说话?

我已经尝试了一些库来做到这一点,但还没有找到任何可靠的东西,因此是家酿。

由于 杰克

3 个答案:

答案 0 :(得分:3)

在大多数情况下,某些JS文件在文件末尾缺少;

由于我很确定这是问题所在,请尝试在函数/ ;之后添加

答案 1 :(得分:2)

您可能遇到可变碰撞问题。您可以将每个文件的所有代码都包含在自己的作用域IIFE中,以防止这种情况发生。

另外,请确保所有javascript文件在文件的最后一行都有分号;

如果您的文件结尾如下:

var foo

然后下一个文件就像这样开始:

var bar;

当它们连接起来时,你会有

var foovar bar;

这是无效的javascript。

答案 2 :(得分:1)

也许您可以尝试使用php将.js文件包装到函数闭包中?即。

(function(){
  // file content
})();

我不确定您的特定文件是否会出现不可预测的问题,但您可以尝试