jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jQuery源代码使用Require.js,但最终文件没有?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
未压缩的jQuery文件http://code.jquery.com/jquery-2.0.3.js
jQuery源代码https://github.com/jquery/jquery/blob/master/src/core.js

他们做了什么让它看起来像最终输出没有使用引擎盖下的require.js? require.js示例告诉您将整个库插入代码中,使其作为单个文件独立运行.

Almond.js,一个较小版本的require.js也告诉你将自己插入你的代码中以获得一个独立的javascript文件.

当缩小时,我不关心额外的膨胀,它只是一些额外的killobytes(对于almond.js),但是没有明确的几乎没有可读性.我必须一直向下滚动,通过almond.js代码来查看我的应用程序逻辑.

如何使我的代码与jQuery类似,其中最输出看起来不像Frankenweenie?

解决方法

简短回答:

您必须创建自己的自定义构建过程.

答案很长

jQuery的构建过程只是因为jQuery根据允许转换函数将源转换为不使用define的分布式文件的模式定义其模块.如果有人想要复制jQuery所做的事情,那就没有捷径:1)模块必须根据允许剥离定义调用的模式进行设计,2)你必须有自定义转换函数.这就是jQuery的功能.将jQuery模块组合到一个文件中的整个逻辑是在build/tasks/build.js中.

文件定义了传递给r.js的自定义配置.重要的选择是:

> out设置为“dist / jquery.js”.这是单身
优化产生的文件.
> wrap.startFile,设置为“src / intro.js”.这个文件
将被添加到dist / jquery.js.
> wrap.endFile,设置为“src / outro.js”.这个文件
被附加到dist / jquery.js.
> onBuildWrite设置为转换.这是custom function.

每次r.js想要将模块输出到最终输出文件时,都会调用convert函数.该函数输出是r.js写入最终文件输出.它执行以下操作:

>如果模块来自var /目录,则模块将是
转化如下.我们来看看
src/var/toString.js

define([
    "./class2type"
    ],function( class2type ) {
    return class2type.toString;
});

它将成为:

var toString = class2type.toString;

>否则,define(…)调用将替换为传递给define的回调内容,最终的return语句将被剥离,并且将剥离对导出的任何赋值.

我省略了与您的问题无关的详细信息.

大佬总结

以上是大佬教程为你收集整理的jQuery源代码使用Require.js,但最终文件没有?全部内容,希望文章能够帮你解决jQuery源代码使用Require.js,但最终文件没有?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。