我正在学习如何使用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
答案 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)。