2012-11-18 40 views
1

我或多或少地在某些软件中构建新设计,并保留某些页面功能的功能以保留系统使用的某些JavaScript文件;然而它看起来软件使用全局头文件来包含所有.js文件,并减少了http请求,我只是想在页面实际需要时包含它们。检查是否实际需要包含的JavaScript文件

但是不通过每个页面的代码实际上束缚,就是那里,你可以用它来测试,如果页面实际上需求有包括或没有一定的.js文件更快的方法!?

+0

不可靠。 JavaScript过于动态,并且对环境过于不确定(DOM可以通过各种方式大量更改),以便自动确定。 –

+0

@MattWhipple我认为这是一个很长的镜头,但我想我会问。 – Brett

+0

这是全局命名空间的正常使用真的很痛的情况之一 –

回答

3

没有可靠的方法来测试。更好的解决方案是将所有JavaScript文件打包到单个文件中,因此只需要一个请求。

在包装期间,您可以最小化它们(删除注释和不需要的空格)。您可以缓存打包文件,因此不必在每个请求上生成它。如果传递正确的标题,浏览器也会缓存它,为您节省带宽并加快页面的速度。

+0

谢谢。是的,已经在为我的许多静态文件寻找一些缓存机制。 :) – Brett

+0

通常这是一个比您正在查找的条件加载更好的解决方案,因为启动请求的成本通常高于实际的数据传输成本。所以,除非你有一些巨大的JavaScript,否则你最好已经加载了未使用的代码。 –

1

TL/DR

号是因为JavaScript的动态性质,这是不可能判断一个库使用,直到它的实际运行。

长的答案

如果运行的应用程序是一个选项(即它有一个定义的一些东西进行测试,以验证所有功能),那么它可以写一个代理为你考虑移除将库记录他们的实际使用。这是一个矫枉过正的解决方案,它可能会更容易尝试逐个删除库和测试页面,看看它们是否工作。它的工作很琐碎,但直接的方法可能是最快的。

相关

你也许可以结合加快速度和minifying的包括。如果他们都在一个可能很容易的地方。

相关问题