我是FE,也是Fe

          前端來源于不斷的點滴積累。我一直在努力。

          統計

          留言簿(15)

          閱讀排行榜

          評論排行榜

          smartcomb:用php實現的web模塊拼合器

          smartcomb是一個用php實現的web模塊拼合器,相對于其他的代碼拼合工具,如下特性:

          • 可以拼合任意類型的文件,不限于js文件。
          • 集中并聲明依賴,自動分析依賴拼合,按需加載。
          • 支持多種配置切換
          • 自動修改css,less中的圖片路徑,無需擔心拼合后css圖片路徑出錯
          • 支持php命令行調用,支持命令直接生成拼合靜態文件

          github地址:https://github.com/hafeyang/smartcomb

          模塊聲明配置

          smartcomb是由smartcomb.php modules.js構成,modules.js是一個json文件,必須是嚴格的json格式,key需要加上雙引號,用于模塊聲明。格式為:

          {
              [profile]:{
                  "basePath": "所有文件共有的基礎路徑",
                  "modules":{
                      "[modulename]":{
                          [type1]:["file1","file2"],
                          "dependencies":["depend module name","",""]
                      }
                  }
              }
           }
          

          下面是一個demo:

          {
              "default":{
                  "basePath":"modules/",
                  "modules":{
                      "base":{
                          "js":["base/base.js","base/common.js"],
                          "css":["base/reset.css"],
                          "less":["base/reset.less"]
                       },
                       "pageA":{
                           "js":["pageA/pageA-util.js","pageA/pageA.js"],
                           "css":["pageA/pageA.css"],
                           "dependencies":["base"]
                       }
                  }
              }
          }
          

          web中使用

          上面的demo聲明了profile 為default的模塊配置。聲明兩個模塊base和pageA,pageA依賴于base模塊。其中base模塊包括兩個js文件: modules/base/base.js,該路徑是相對于smartcomb.php的路徑,文件類型可以任意定義,使用時指定類型即可。

          如上配置文件,我們可以在頁面中如下引用:

          <script type="text/javascript" src="path/to/smartcomb.php?type=js&modules=pageA"></script>
          <link href="path/to/smartcomb.php?type=css&modules=pageA" type="text/css" charset="utf-8"/>
          

          pageA依賴于base模塊。smartcomb自動拼合依賴的的文件。

          smartcomb.php調用參數:

          • profile:配置類型,默認為default。用該參數可以切換profile
          • type:文件類型,模塊聲明中的類型,可以是自定義的任何文件類型,默認是js
          • modules:需要拼合的模塊,多個模塊可以用,分割

          命令行中使用

          可以直接使用 php命令,如:

          php smartcomb.php -profile default -type js -modules pageA
          

          命令直接在標準輸出中輸出拼合結果,可以直接生成文件。

          php smartcomb.php -profile default -type js -modules pageA > pageA-dep.js
          

          參數與web調用方式一致

          Thanks,任何問題,請與我聯系:)

          posted on 2013-01-05 14:47 衡鋒 閱讀(1661) 評論(1)  編輯  收藏 所屬分類: Web開發

          評論

          # re: smartcomb:用php實現的web模塊拼合器 2014-04-04 14:03 無添加

          看到暈乎乎的。  回復  更多評論   

          主站蜘蛛池模板: 台中市| 阿拉善盟| 茂名市| 遂宁市| 常山县| 莆田市| 黄梅县| 咸丰县| 瑞金市| 禄丰县| 曲阳县| 岳阳市| 澳门| 上栗县| 高碑店市| 赤水市| 香河县| 密山市| 莱州市| 上栗县| 高碑店市| 宝应县| 安图县| 瓦房店市| 浑源县| 清河县| 西安市| 通城县| 黔东| 仲巴县| 松潘县| 文登市| 宝坻区| 陆川县| 富川| 郓城县| 海原县| 高密市| 上思县| 汶川县| 都江堰市|