Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么是JavaScript预编译库?_Javascript_Magento_Precompiled - Fatal编程技术网

什么是JavaScript预编译库?

什么是JavaScript预编译库?,javascript,magento,precompiled,Javascript,Magento,Precompiled,我正在学习如何使用电子商务系统,我正在阅读它的文档,但我不理解一些术语,“预编译JavaScript库”。这是什么意思?如何编译JavaScript代码 用于升级和安装Magento的web下载程序,无需 SSH的使用(见第2章)js的核心文件夹,所有 Magento安装中包含的JavaScript代码将保留。我们 将在此处找到所有预编译的JavaScript库 资料来源: 我不知道Magento电子商务使用什么,但我知道JavaScript编译器是什么 预编译的JavaScript不实用,因为

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

用于升级和安装Magento的web下载程序,无需 SSH的使用(见第2章)js的核心文件夹,所有 Magento安装中包含的JavaScript代码将保留。我们 将在此处找到所有预编译的JavaScript库

资料来源:
我不知道Magento电子商务使用什么,但我知道JavaScript编译器是什么

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

然而,最新的迷你们远远不止这些。一个很好的例子是。它与相关,但设计良好,即使在单独使用时也是如此

有一个问题

它之所以被称为编译器,是因为它不仅仅是一个小型编译器,JavaScript编译器的名称不用于任何其他用途。例如:此代码

function hello(name) {
  alert('Hello, ' + name);
}
hello('New user');
编译为
警报(“你好,新用户”)处于高级模式。一次性使用的函数被删除,变量名被缩短,甚至被重复使用

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


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

Magento在管理中有一个配置选项

System -> Configuration -> Developer -> JavaScript Settings
命名合并的Javascript文件

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

因此,当文档说文件夹包含预编译版本时,这意味着单独的javascript文件存储在该文件夹中,合并javascript文件时从该文件夹加载文件

“汇编”一词来源于。编译器获取源代码,并将其从一种语言转换为另一种语言


传统上,它意味着从更高级别的语言(C、.NET、Java等)获取代码,并将其转换为计算机芯片可以理解的机器代码(汇编代码)。然而,这个术语是通用的,更现代的用法包括使用一种语言(Javascript)编写的源代码,并将其转换为另一种形式(小型Javascript)

在这种情况下,编译可能只是指-在手之前放在一起。链接(实际上)已断开(它重定向到通用的顶级文档页面)。同意,很可能“预编译”实际上意味着最小化或模糊化。除了Google Closure Compiler,还有十几种其他工具,如:uglifyJs、Yui Compressor、Packer&etcCorrect,尽管编译的正式定义(将源代码从一种形式转换为另一种形式)确实适用。编译的JavaScript并不存在。这句话是不正确的,因为我们看到V8实际上将javascript编译成机器代码。