什么是JavaScript预编译库?

时间:2011-08-04 18:46:03

标签: javascript magento precompiled

我正在学习如何使用Magento电子商务系统,我正在阅读它的文档,但我不懂一些术语,一个“预编译的JavaScript库”,它们是什么意思?,怎么能编译JavaScript代码?

  

用于升级和安装Magento的Web下载器   使用SSH(见第2章)。 •js-所有核心文件夹   保留Magento安装中包含的JavaScript代码。我们   将在这里找到所有预编译的JavaScript库。

源: http://www.magentocommerce.com/wiki/2_-_magento_concepts_and_architecture/magento_s_base_structure

2 个答案:

答案 0 :(得分:9)

我不知道Magento电子商务使用什么,但我知道JavaScript编译器是什么。

预编译的JavaScript不实用,因为各种JavaScript解释器都有自己的编译方法。因此,当大多数人谈论编译JavaScript时,他们通常会引用Minified JavaScript。

然而,最新的缩小器远远超出了。一个很好的例子是Google Closure Compiler Advanced Mode。它与Google Closure Library and Tools有关,但即使在单独使用时也设计得很好。

Online Demo of Closure Compiler

它被称为编译器,因为它不仅仅是一个缩小器,而且JavaScript编译器的名称不用于其他任何东西。例如:此代码

function hello(name) {
  alert('Hello, ' + name);
}
hello('New user');

在高级模式下编译为alert("Hello, New user");。删除一次性功能,缩短变量名,甚至重复使用。

非常彻底。简单模式假设可能涉及其他JavaScript。在这种情况下,它将保留hello函数。高级模式假定只有一个JavaScript文件,或者它已正确导出。

使这一点真正被编译的一件事是,它不是像编译的C或Java那样的字节码。它仍然必须在运行时编译,如Perl。

答案 1 :(得分:7)

Magento在管理员处有一个配置选项

System -> Configuration -> Developer -> JavaScript Settings

命名为合并的Javascript文件

当此设置打开时,Magento将获取它所知道的所有javascript文件,将它们“编译”为缩小版本以生成较小的文件大小,然后将所有javascript文件合并到一个javascript文件中。这样,Magento不会打开多个网络连接来下载多个文件,而是打开一个网络连接来打开一个文件。

因此,当文档说该文件夹包含预编译版本时,这意味着存储单个javascript文件的位置,以及合并Javascript文件

术语编译来自Computer Science。编译器获取源代码,并将其从一种语言转换为另一种语言。

传统上,它意味着从更高级别的语言(C,.NET,Java等)中获取代码,并将其转换为计算机芯片所理解的机器代码(汇编代码)。但是,该术语是通用的,更现代的用法包括使用一种语言(Javascript)编写源代码并将其转换为不同的形式(缩小的javascript)。