testjs插件类库组织与管理

简介:

在开发一个较大规模的网站,js插件类库应用的是相当多。那么自然在一个页面里就存在不少scriptscript相关的link标记,这样js组织与管理自然成了一大问题。

先举个例子,比如jquery插件中的calendar在一个页面中就得有如下代码

<style type="text/css">

@import ""script/calendar/jquery.datepick.css";

</style>

    <script type="text/javascript" src="script/jquery1.3.2.js"></script>

    <script type="text/javascript" src=""script/calendar/jquery.datepick.js"></script>

<script type="text/javascript" src=""script/calendar/jquery.datepick-zh-CN.js"></script>

看上面代码,calendar代码得运用四个相关的文件。其中jquery1.3.2.js是必须的,jquery.datepick-zh-CN.js依赖于jquery.datepick.js(日历插件),jquery.datepick.css是插件的样式。

运用以上代码得很小心的对待插件的依赖关系,主次关系不能换,移动文件路径还得改动文件src路径,以上script中下载js文件都是单线程下载,理想的是进行多线程下载(firebug看得出来),再者就是插件的缓存问题(插件更新了,客户端可能还保存着原来的文件)。

看过不少网上关于这方面的解决方案,博客园中有SmartScriptjavaeye中有JSI,它们貌似都存在一个boot.js文件。而我的解决方案就只需要一个script后面跟插件参数即可。

    以下是我对上述问题的一个解决方案:

    <script type="text/javascript" src="script.do?plugins=calendar"></script>

在一个页面中只需要js应用的插件只需要script.do后跟参数后插件名参数即可,其它的工作就是在整体写一个插件资源配置文件(写插件配置的人得弄清楚js相关资源,这个只需要配置一次),至于其它什么也不需要弄。

插件资源配置文件

<?xml version="1.0encoding="utf-8" ?>

<script path="script/plugins/name="script/jquery1.3.2.jslazy="script/plugins/lazy/jquery.lazy-1.3.1.js">

 <!--自动完成-->

 <plugin name="autocompletefile="autocomplete/jquery.autocomplete.js">

    <lazy file="autocomplete/jquery.autocomplete.css"></lazy>

 </plugin>

 <!--日历-->

 <plugin name="calendarfile="calendar/jquery.datepick.pack.js">

    <lazy file="calendar/jquery.datepick.css"></lazy>

    <lazy file="calendar/jquery.datepick-zh-CN.js"></lazy>

 </plugin>

 <!--提示框-->

 <plugin name="tipfile="tip/jquery.tip.js">

    <lazy file="tip/bs.css"></lazy>

 </plugin>

 <!--拖动-->

 <plugin name="draggablefile="jquery.draggable.js">

    <lazy file="ui/ui.core.js"></lazy>

    <lazy file="draggable/ui.draggable.css"></lazy>

 </plugin>

 <!--拖动放下-->

 <plugin name="droppablefile="jquery.droppable.js">

    <lazy file="ui/ui.core.js"></lazy>

    <lazy file="droppable/ui.droppable.css"></lazy>

    <lazy file="draggable/ui.draggable.js"></lazy>

    <lazy file="draggable/ui.draggable.css"></lazy>

 </plugin>

</script>

html示例代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

<html xmlns="http://www.w3.org/1999/xhtml" >

<head id="Head1" runat="server">

    <title>无标题页</title>

<%--    <script type="text/javascript" src="script/jquery1.3.2.js"></script>

    <script type="text/javascript" src="script/plugins/lazy/jquery.lazy-1.3.1.js"></script>--%>

    <script type="text/javascript" src="script.do?plugins=autocomplete,tip"></script>

</head>

<body>

<input type="text" id="suggest1" style="border:1px solid #ccc"/><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />

<a href="#" title="Basic Tool Tip" class="bslink">Tip1</a><br />

</body>

</html>

 

    <script>

    var cities = [

     "Aberdeen""Ada""Adamsville""Addyston""Adelphi""Adena""Adrian""Akron",

     "Albany""Alexandria""Alger""Alledonia""Alliance""Alpha""Alvada",

     "Alvordton""Amanda""Amelia""Amesville""Amherst""Amlin""Amsden",

     "Amsterdam""Andover""Anna""Ansonia""Antwerp""Apple Creek""Arcadia",

     "Arcanum""Archbold""Arlington""Ashland""Ashley""Ashtabula""Ashville",

     "Athens""Attica""Atwater""Augusta""Aurora""Austinburg""Ava""Avon",

     "Avon Lake""Bainbridge""Bakersville""Baltic""Baltimore""Bannock",

     "Barberton""Barlow""Barnesville""Bartlett""Barton""Bascom""Batavia",

     "Bath""Bay Village""Beach City""Beachwood""Beallsville""Beaver",

     "Beaverdam""Bedford""Bellaire""Bellbrook""Belle Center""Belle Valley",

     "Bellefontaine""Bellevue""Bellville""Belmont""Belmore""Beloit""Belpre",

     "Benton Ridge""Bentonville""Berea""Bergholz""Berkey""Berlin",

     "Berlin Center""Berlin Heights""Bethel""Bethesda""Bettsville""Beverly",

     "Bidwell""Big Prairie""Birmingham""Blacklick""Bladensburg""Blaine",

     "Blakeslee""Blanchester""Blissfield""Bloomdale""Bloomingburg",

     "Bloomingdale""Bloomville""Blue Creek""Blue Rock""Bluffton",

     "Bolivar""Botkins""Bourneville""Bowerston""Bowersville",

     "Bowling Green""Bradford""Bradner""Brady Lake""Brecksville",

     "Bremen""Brewster""Brice""Bridgeport""Brilliant""Brinkhaven",

     "Bristolville""Broadview Heights""Broadway""Brookfield""Brookpark",

     "Brookville""Brownsville""Brunswick""Bryan""Buchtel""Buckeye Lake",

     "Buckland""Bucyrus""Buffalo""Buford""Burbank""Burghill""Burgoon",

     "Burkettsville""Burton""Butler""Byesville""Cable""Cadiz""Cairo",

     "Caldwell""Caledonia""Cambridge""Camden""Cameron""Camp Dennison",

     "Campbell""Canal Fulton""Canal Winchester""Canfield""Canton""Carbon Hill",

     "Carbondale""Cardington""Carey""Carroll""Carrollton""Casstown",

     "Castalia""Catawba""Cecil""Cedarville""Celina""Centerburg",

     "Chagrin Falls""Chandlersville""Chardon""Charm""Chatfield""Chauncey",

     "Cherry Fork""Chesapeake""Cheshire""Chester""Chesterhill""Chesterland",

     "Chesterville""Chickasaw""Chillicothe""Chilo""Chippewa Lake",

     "Christiansburg""Cincinnati""Circleville""Clarington""Clarksburg",

     "Clarksville""Clay Center""Clayton""Cleveland""Cleves""Clifton",

     "Clinton""Cloverdale""Clyde""Coal Run""Coalton""Coldwater""Colerain",

     "College Corner""Collins""Collinsville""Colton""Columbia Station",

     "Columbiana""Columbus""Columbus Grove""Commercial Point""Conesville",

     "Conneaut""Conover""Continental""Convoy""Coolville""Corning""Cortland",

     "Coshocton""Covington""Creola""Crestline""Creston""Crooksville",

     "Croton""Crown City""Cuba""Cumberland""Curtice""Custar""Cutler",

     "Cuyahoga Falls""Cygnet""Cynthiana""Dalton""Damascus""Danville",

     "Dayton""De Graff""Decatur""Deerfield""Deersville""Defiance",

     "Delaware""Dellroy""Delphos""Delta""Dennison""Derby""Derwent",

     "Deshler""Dexter City""Diamond""Dillonvale""Dola""Donnelsville",

     "Dorset""Dover""Doylestown""Dresden""Dublin""Dunbridge""Duncan Falls",

     "Dundee""Dunkirk""Dupont""East Claridon""East Fultonham",

     "East Liberty""East Liverpool""East Palestine""East Rochester",

     "East Sparta""East Springfield""Eastlake""Eaton""Edgerton""Edison",

     "Edon""Eldorado""Elgin""Elkton""Ellsworth""Elmore""Elyria",

     "Empire""Englewood""Enon""Etna""Euclid""Evansport""Fairborn",

     "Fairfield""Fairpoint""Fairview""Farmdale""Farmer""Farmersville",

     "Fayette""Fayetteville""Feesburg""Felicity""Findlay""Flat Rock",

     "Fleming""Fletcher""Flushing""Forest""Fort Jennings""Fort Loramie",

     "Fort Recovery""Fostoria""Fowler""Frankfort""Franklin",

     "Franklin Furnace""Frazeysburg""Fredericksburg""Fredericktown",

     "Freeport""Fremont""Fresno""Friendship""Fulton""Fultonham",

     "Galena""Galion""Gallipolis""Galloway""Gambier""Garrettsville",

     "Gates Mills""Geneva""Genoa""Georgetown""Germantown""Gettysburg",

     "Gibsonburg""Girard""Glandorf""Glencoe""Glenford""Glenmont",

     "Glouster""Gnadenhutten""Gomer""Goshen""Grafton""Grand Rapids",

     "Grand River""Granville""Gratiot""Gratis""Graysville""Graytown",

     "Green""Green Camp""Green Springs""Greenfield""Greenford",

     "Greentown""Greenville""Greenwich""Grelton""Grove City",

     "Groveport""Grover Hill""Guysville""Gypsum""Hallsville",

     "Hamden""Hamersville""Hamilton""Hamler""Hammondsville",

     "Hannibal""Hanoverton""Harbor View""Harlem Springs""Harpster",

     "Harrisburg""Harrison""Harrisville""Harrod""Hartford""Hartville",

     "Harveysburg""Haskins""Haverhill""Haviland""Haydenville""Hayesville",

     "Heath""Hebron""Helena""Hicksville""Higginsport""Highland""Hilliard",

     "Hillsboro""Hinckley""Hiram""Hockingport""Holgate""Holland",

     "Hollansburg""Holloway""Holmesville""Homer""Homerville""Homeworth",

     "Hooven""Hopedale""Hopewell""Houston""Howard""Hoytville""Hubbard",

     "Hudson""Huntsburg""Huntsville""Huron""Iberia""Independence",

     "Irondale""Ironton""Irwin""Isle Saint George""Jackson""Jackson Center",

     "Jacksontown""Jacksonville""Jacobsburg""Jamestown""Jasper",

     "Jefferson""Jeffersonville""Jenera""Jeromesville""Jerry City",

     "Jerusalem""Jewell""Jewett""Johnstown""Junction City""Kalida",

     "Kansas""Keene""Kelleys Island""Kensington""Kent""Kenton",

     "Kerr""Kettlersville""Kidron""Kilbourne""Killbuck""Kimbolton",

     "Kings Mills""Kingston""Kingsville""Kinsman""Kipling""Kipton",

     "Kirby""Kirkersville""Kitts Hill""Kunkle""La Rue""Lacarne",

     "Lafayette""Lafferty""Lagrange""Laings""Lake Milton""Lakemore",

     "Lakeside Marblehead""Lakeview""Lakeville""Lakewood""Lancaster",

     "Langsville""Lansing""Latham""Latty""Laura""Laurelville",

     "Leavittsburg""Lebanon""Lees Creek""Leesburg""Leesville",

     "Leetonia""Leipsic""Lemoyne""Lewis Center""Lewisburg",

     "Lewistown""Lewisville""Liberty Center""Lima""Limaville",

     "Lindsey""Lisbon""Litchfield""Lithopolis""Little Hocking",

     "Lockbourne""Lodi""Logan""London""Londonderry",

     "Long Bottom""Lorain""Lore City""Loudonville""Louisville",

     "Loveland""Lowell""Lowellville""Lower Salem""Lucas",

     "Lucasville""Luckey""Ludlow Falls""Lynchburg""Lynx",

     "Lyons""Macedonia""Macksburg""Madison""Magnetic Springs",

     "Magnolia""Maineville""Malaga""Malinta""Malta""Malvern",

     "Manchester""Mansfield""Mantua""Maple Heights""Maplewood",

     "Marathon""Marengo""Maria Stein""Marietta""Marion",

     "Mark Center""Marshallville""Martel""Martin""Martins Ferry",

     "Martinsburg""Martinsville""Marysville""Mason""Massillon",

     "Masury""Maumee""Maximo""Maynard""Mc Arthur""Mc Clure",

     "Mc Comb""Mc Connelsville""Mc Cutchenville""Mc Dermott",

     "Mc Donald""Mc Guffey""Mechanicsburg""Mechanicstown",

     "Medina""Medway""Melmore""Melrose""Mendon""Mentor",

     "Mesopotamia""Metamora""Miamisburg""Miamitown""Miamiville",

     "Middle Bass""Middle Point""Middlebranch""Middleburg",

     "Middlefield""Middleport""Middletown""Midland""Midvale",

     "Milan""Milford""Milford Center""Millbury""Milledgeville",

     "Miller City""Millersburg""Millersport""Millfield",

     "Milton Center""Mineral City""Mineral Ridge""Minerva",

     "Minford""Mingo""Mingo Junction""Minster""Mogadore",

     "Monclova""Monroe""Monroeville""Montezuma""Montpelier",

     "Montville""Morral""Morristown""Morrow""Moscow",

     "Mount Blanchard""Mount Cory""Mount Eaton""Mount Gilead",

     "Mount Hope""Mount Liberty""Mount Orab""Mount Perry",

     "Mount Pleasant""Mount Saint Joseph""Mount Sterling",

     "Mount Vernon""Mount Victory""Mowrystown""Moxahala",

     "Munroe Falls""Murray City""Nankin""Napoleon""Nashport",

     "Nashville""Navarre""Neapolis""Neffs""Negley",

     "Nelsonville""Nevada""Neville""New Albany""New Athens",

     "New Bavaria""New Bloomington""New Bremen""New Carlisle",

     "New Concord""New Hampshire""New Haven""New Holland",

     "New Knoxville""New Lebanon""New Lexington""New London",

     "New Madison""New Marshfield""New Matamoras""New Middletown",

     "New Paris""New Philadelphia""New Plymouth""New Richmond",

     "New Riegel""New Rumley""New Springfield""New Straitsville",

     "New Vienna""New Washington""New Waterford""New Weston",

     "Newark""Newbury""Newcomerstown""Newport""Newton Falls",

     "Newtonsville""Ney""Niles""North Baltimore""North Bend",

     "North Benton""North Bloomfield""North Fairfield",

     "North Georgetown""North Hampton""North Jackson",

     "North Kingsville""North Lawrence""North Lewisburg",

     "North Lima""North Olmsted""North Ridgeville""North Robinson",

     "North Royalton""North Star""Northfield""Northwood""Norwalk",

     "Norwich""Nova""Novelty""Oak Harbor""Oak Hill""Oakwood",

     "Oberlin""Oceola""Ohio City""Okeana""Okolona""Old Fort",

     "Old Washington""Olmsted Falls""Ontario""Orangeville",

     "Oregon""Oregonia""Orient""Orrville""Orwell""Osgood",

     "Ostrander""Ottawa""Ottoville""Otway""Overpeck",

     "Owensville""Oxford""Painesville""Palestine""Pandora",

     "Paris""Parkman""Pataskala""Patriot""Paulding""Payne",

     "Pedro""Peebles""Pemberton""Pemberville""Peninsula",

     "Perry""Perrysburg""Perrysville""Petersburg""Pettisville",

     "Phillipsburg""Philo""Pickerington""Piedmont""Pierpont",

     "Piketon""Piney Fork""Pioneer""Piqua""Pitsburg",

     "Plain City""Plainfield""Pleasant City""Pleasant Hill",

     "Pleasant Plain""Pleasantville""Plymouth""Polk",

     "Pomeroy""Port Clinton""Port Jefferson""Port Washington",

     "Port William""Portage""Portland""Portsmouth""Potsdam",

     "Powell""Powhatan Point""Proctorville""Prospect""Put in Bay",

     "Quaker City""Quincy""Racine""Radnor""Randolph""Rarden",

     "Ravenna""Rawson""Ray""Rayland""Raymond""Reedsville",

     "Reesville""Reno""Republic""Reynoldsburg""Richfield",

     "Richmond""Richmond Dale""Richwood""Ridgeville Corners",

     "Ridgeway""Rio Grande""Ripley""Risingsun""Rittman",

     "Robertsville""Rock Camp""Rock Creek""Rockbridge""Rockford",

     "Rocky Ridge""Rocky River""Rogers""Rome""Rootstown""Roseville",

     "Rosewood""Ross""Rossburg""Rossford""Roundhead""Rudolph",

     "Rushsylvania""Rushville""Russells Point""Russellville""Russia",

     "Rutland""Sabina""Saint Clairsville""Saint Henry""Saint Johns",

     "Saint Louisville""Saint Marys""Saint Paris""Salem""Salesville",

     "Salineville""Sandusky""Sandyville""Sarahsville""Sardinia",

     "Sardis""Savannah""Scio""Scioto Furnace""Scott""Scottown",

     "Seaman""Sebring""Sedalia""Senecaville""Seven Mile""Seville",

     "Shade""Shadyside""Shandon""Sharon Center""Sharpsburg",

     "Shauck""Shawnee""Sheffield Lake""Shelby""Sherrodsville",

     "Sherwood""Shiloh""Short Creek""Shreve""Sidney""Sinking Spring",

     "Smithfield""Smithville""Solon""Somerdale""Somerset",

     "Somerville""South Bloomingville""South Charleston""South Lebanon",

     "South Point""South Salem""South Solon""South Vienna",

     "South Webster""Southington""Sparta""Spencer""Spencerville",

     "Spring Valley""Springboro""Springfield""Stafford""Sterling",

     "Steubenville""Stewart""Stillwater""Stockdale""Stockport",

     "Stone Creek""Stony Ridge""Stout""Stoutsville""Stow""Strasburg",

     "Stratton""Streetsboro""Strongsville""Struthers""Stryker",

     "Sugar Grove""Sugarcreek""Sullivan""Sulphur Springs""Summerfield",

     "Summit Station""Summitville""Sunbury""Swanton""Sycamore",

     "Sycamore Valley""Sylvania""Syracuse""Tallmadge""Tarlton",

     "Terrace Park""The Plains""Thompson""Thornville""Thurman",

     "Thurston""Tiffin""Tiltonsville""Tipp City""Tippecanoe""Tiro",

     "Toledo""Tontogany""Torch""Toronto""Tremont City""Trenton",

     "Trimble""Trinway""Troy""Tuppers Plains""Tuscarawas""Twinsburg",

     "Uhrichsville""Union City""Union Furnace""Unionport""Uniontown",

     "Unionville""Unionville Center""Uniopolis""Upper Sandusky""Urbana",

     "Utica""Valley City""Van Buren""Van Wert""Vandalia""Vanlue",

     "Vaughnsville""Venedocia""Vermilion""Verona""Versailles",

     "Vickery""Vienna""Vincent""Vinton""Wadsworth""Wakefield",

     "Wakeman""Walbridge""Waldo""Walhonding""Walnut Creek""Wapakoneta",

     "Warnock""Warren""Warsaw""Washington Court House",

     "Washingtonville""Waterford""Waterloo""Watertown""Waterville",

     "Wauseon""Waverly""Wayland""Wayne""Waynesburg""Waynesfield",

     "Waynesville""Wellington""Wellston""Wellsville""West Alexandria",

     "West Chester""West Elkton""West Farmington""West Jefferson",

     "West Lafayette""West Liberty""West Manchester""West Mansfield",

     "West Millgrove""West Milton""West Point""West Portsmouth",

     "West Rushville""West Salem""West Union""West Unity""Westerville",

     "Westfield Center""Westlake""Weston""Westville""Wharton",

     "Wheelersburg""Whipple""White Cottage""Whitehouse""Wickliffe",

     "Wilberforce""Wilkesville""Willard""Williamsburg""Williamsfield",

     "Williamsport""Williamstown""Williston""Willoughby""Willow Wood",

     "Willshire""Wilmington""Wilmot""Winchester""Windham""Windsor",

     "Winesburg""Wingett Run""Winona""Wolf Run""Woodsfield",

     "Woodstock""Woodville""Wooster""Wren""Xenia""Yellow Springs",

     "Yorkshire""Yorkville""Youngstown""Zaleski""Zanesfield""Zanesville",

     "Zoar"

];

 

 

 

$('.bslink').tip();

 

 

 

$("#suggest1").autocomplete(cities);

   

    </script>



本文转自 netcorner 博客园博客,原文链接:http://www.cnblogs.com/netcorner/archive/2009/08/25/1553589.html   ,如需转载请自行联系原作者


相关文章
|
25天前
|
JavaScript Java 测试技术
基于Java的冀中工程技师校园网站的设计与实现(源码+lw+部署文档+讲解等)
基于Java的冀中工程技师校园网站的设计与实现(源码+lw+部署文档+讲解等)
28 2
|
11月前
|
存储 前端开发 JavaScript
前端工程化的Node.js之代码的组织/部署的包 package
在现代的Web开发中,前端工程化已经成为了不可或缺的一部分。而Node.js作为JavaScript的运行环境,为前端工程化提供了很多强大的工具和支持。其中,代码的组织和部署是前端工程化中非常重要的一部分,而Node.js的包管理系统npm就是解决这个问题的利器。今天我们就来探讨一下如何使用npm来进行代码的组织和部署。
68 0
|
12月前
|
数据库 Python
【Pyside6】桌面应用--目录、代码结构设计(附案例)
【Pyside6】桌面应用--目录、代码结构设计(附案例)
jira学习案例36-ccs-in-js创建自定义组件
jira学习案例36-ccs-in-js创建自定义组件
54 0
jira学习案例36-ccs-in-js创建自定义组件
|
XML C++ 数据格式
关于类库项目不能新增资源文件的解决方案
关于类库项目不能新增资源文件的解决方案
关于类库项目不能新增资源文件的解决方案
|
前端开发 文件存储 UED
基于Ruoyi和WebUploader的统一附件管理扩展(上)
本文将重点说明ruoyi使用的基础文件处理技术,简单介绍了webuploader,webuploader如何在Ruoyi中进行集成,最后给出了集成的页面效果,可以作为技术参考。
419 0
基于Ruoyi和WebUploader的统一附件管理扩展(上)
|
数据库
配置模块案例工程代码讲解——基于 NestJS 7.x
配置模块案例工程代码讲解——基于 NestJS 7.x
152 0
jira项目笔记9-封装table得一个组件(不用ant之前
jira项目笔记9-封装table得一个组件(不用ant之前
60 0
|
Web App开发 缓存 前端开发
1.2w字 | 从 0 到 1 上手 Web Components 业务组件库开发 上
1.2w字 | 从 0 到 1 上手 Web Components 业务组件库开发 上
265 0