joh*_*hue 12 javascript jquery ender
我正在开发一个自定义轻量级JavaScript库,它需要在主要浏览器以及众多独立站点之间稳定运行,而不会受到现有库或命名空间的影响或损害.也许最重要的是,图书馆需要轻量级(最大约15k).
更新为了澄清对这样一个小型库的需求:这是一个第三方服务,网站将进入他们的页面.我们需要尽可能保持一切尽可能轻,快速和自包含,因为我们无法控制现有的库,速度或页面加载.15k是仅由服务的动态内容访问的库的目标编号.
在这一点上,我的想法是从我能找到的最简洁的类jQuery基础开始,然后使用自定义模块进行扩展.
所需功能:
我遇到过EnderJS和MicroJS,但我似乎无法找到很多讨论.我现在对Ender更熟悉和感兴趣,因为它似乎解决了所有上述功能,几乎开箱即用的"The Jeesh"重达7.5k.在我的情况下,只需要几个额外的包就可以将它推到10k,这是完美的,因为我只需要几个k来充实任何自定义模块.它还允许我编写和版本化不同的模块,这些模块可以在构建时合并并压缩到主库中,以及定义一个独特的命名空间来将它们保存在一起并希望保护它.Ender图书馆的另一个引人注目的部分是它使用了NodeJS,无论如何我更喜欢玩它.然而,尽管如此,我仍然对其他想法持开放态度.
所以我的问题是:
有没有人对EnderJS或MicroJS有任何经验,或者有其他解决方案/方法来解决我想要实现的目标?我意识到这不是"讨厌,开放式问题"的地方,而这不是我的意图.我只是在寻找关于构建轻量级自定义库的最佳方法的建议,而无需重新发明轮子,而是插入最新的微库.
ded*_*ded 16
我是Ender的共同创作者之一,我将+1 Fazal的话.
关于Jeesh的说明虽然是Ender的一个不错的入门包,但真正的力量在于能够通过其不断增长的模块扩展Ender.你可以在这里查看:https://github.com/ender-js/Ender/wiki/Ender-package-list
不知何故,Ender成为了"微库"开发的最前沿,但实际上我们所追求的是将松散耦合的模块(无论大小)都放在一起.jQuery在抽象其选择器引擎(Sizzle)方面迈出了第一步,但遗憾的是其余部分是相互依赖的(dom,事件,动画,ajax,utils,promises),因此无法选择和拉出你想要的东西.
另外,关于Ender的一个简洁的事情是能够将模块发布到NPM并能够将它们移植到您的项目中,by name从而允许您build only what you need, when you need it
值得查看http://enderjs.com/learn上的学习视频,这将使您更好地了解如何创作,构建和使用包.您会发现将Ender设置到您的环境中非常简单,实际上非常有趣.
让我们(@ded或@fat)知道您是否有任何问题,我们将非常愿意帮助解决问题
小智 12
我最近使用过Ender,我真的没有遇到任何问题.有几个jQuery函数是不可用的,但任何相当擅长JavaScript的人都可以绕过这个.特别是考虑到Ender具有与jQuery几乎相同的结构和扩展方式.
我最近在一个现场网站上使用了Ender,并且有趣的是我使用了microjs.com上的几个脚本以及我自己的函数文件,所有的JavaScript都在15k左右.让整个网站代码的重量都在这个或更低的范围内并不难.
除了构建轻量级的Ender之外,例如从Jeesh开始,您可能还需要考虑异步加载,Dustin Diaz提供了一个示例:
<script src="ender.min.js"></script>
<script>
$.require('/js/core.min.js', 'core')
$.ready('core', function () {
$(document).ready(function () {
$('<p>hello world</p>').appendTo('body')
.bind('click', function (e) {
$.require('/js/ajax.min.js', function () {
$(e.target).css('position', 'relative')
.animate({
left: 500
})
})
})
})
})
</script>
Run Code Online (Sandbox Code Playgroud)
通过这样做,你可以基本上使原始的ender构建更轻,并推迟一些加载,但一般来说,如果它首先是轻的,你应该没问题.
您可能还想利用Ender为您提供访问权限的Google闭包编译器,以便与ender一起编译您的站点代码.
最后,你可能很清楚,你也可以在Ender中进行noConflict,以防它们已经有另一个库存在.
在构建和配置Ender时,您可能希望利用ender-wallet,它将为您提供一种API视图,允许您删除根本不需要的库.
hotlinked截图:

| 归档时间: |
|
| 查看次数: |
2859 次 |
| 最近记录: |