Tom*_*ger 15 javascript dependencies conventions
因此,您在外部.js文件中创建了一堆代码,该文件需要jQuery及其一些插件,或MooTools,或者可能是一些更深奥的库.显然,当你在每个脚本中加载时,实际的"include"是在HEAD部分的主机HTML页面中完成的.
但作为可移植性的最佳实践,您的JavaScript .js文件中存在哪些内置功能或广泛采用的约定,以确保使用您的代码的下一个schmoe还记住还包括其他所需的库?
我正在寻求开发者社区的一些共识,所以请务必投票选出最常见的或您最熟悉的答案.
jQuery UI在文件头中添加了小部件的依赖关系:
/*
* jQuery UI Effects Bounce @VERSION
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Effects/Bounce
*
* Depends:
* jquery.effects.core.js
*/
Run Code Online (Sandbox Code Playgroud)
现在不幸的是,JavaScript依赖管理器的使用方式比它们应该少,但是如果你可以让你的库用户切换到一个,你根本不用担心:
显式检查也可能是一个好主意,因为如果某些插件可用或不可用,您可以动态做出反应(例如,如果找不到jQuery UI对话框则抛出异常,或者只是优雅地降级并显示简单的模态窗口) :
if(!$.isFunction($.fn.dialog)) {
throw "Could not find jQueryUI dialog. Please include jQuery UI";
}
Run Code Online (Sandbox Code Playgroud)
这样,如果不满足可选依赖项,则脚本不必完全中断.
对于那里的Visual Studio开发人员,您可能希望在标题中尝试这些块
/// <reference path="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6-vsdoc.js" />
/// <reference path="thirdparty/ba-debug.js" />
/// <reference path="thirdparty/underscore.js" />
Run Code Online (Sandbox Code Playgroud)
虽然这不能解决您的依赖关系,但它会记录它们,并且它在Visual Studio中为您提供智能感知...
请参阅http://msdn.microsoft.com/en-us/library/bb385682.aspx,然后查找References Directives(没有直接链接的名称或ID,抱歉......)
| 归档时间: |
|
| 查看次数: |
1959 次 |
| 最近记录: |