在使用RequireJS管理依赖之前,需要在html页面上手动引入一堆js文件,要注意依赖顺序。这倒没什么,最关键的是我认为html文件中搞这么多东西显得凌乱不堪,而且会影响web美工的工作。
现在看看RequireJS带来的整洁的特点:
下面有个html页面:
- <html>
- <head>
- <title>configuration</title>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <link type="text/css" href="../master/plugin/artDialog4.1.6/skins/blue.css" rel="stylesheet"/>
- <script data-main="../master/script/app/config" src="../master/script/third_party/require.js"></script>
- </head>
最有一个script语句引入了require.js文件,并且在data-main中指定了另一个js文件:config.js,我定义如下:
- require.config({
- paths: {
- "jquery": "../third_party/jquery-1.8.0.min",
- "jquery.validate": "../../plugin/jquery-validation-1.9.0/jquery.validate",
- "jquery.artDialog": "../../plugin/artDialog4.1.6/jquery.artDialog"
- }
- });
-
- require(["jquery"], function(util) {
-
- require(["jquery.validate", "jquery.artDialog"], function(util) {
-
- require(["masterUI", "masterSite", "configuration"], function(util) {
- $(document).ready(function() {
- window.configuration.init();
- })
- });
- });
- });
require.config中配置了引入的第三方的js库的js文件所在位置,包括jquery, jquery.validate和jquery.artDialog
之后三个require调用,一层套一层,注意依赖顺序就是内层依赖外层。最先要被加载的就写到最外层。
最里面写了一个调用,$(document).ready(...) 本来一般写在html页面里面来的,这样好了。又和html解耦了。
想想自己那堆凌乱不堪的html文件,赶紧去改啊。