[KISSY5系列]KISSY5安裝使用(二)

来源:http://www.cnblogs.com/idefav2010/archive/2017/04/29/6786304.html
-Advertisement-
Play Games

上篇文章,我們遺留的一個問題就是,請求數量有點多,雖然現在的瀏覽器的請求資源都是併發的。但是我們還是儘量減少請求量。 但是KISSY裡面這個問題我們怎麼解決呢,其實還是從data-config="{combine:false}"說起. ...


目錄:http://www.cnblogs.com/idefav2010/p/6785610.html

上篇文章,我們遺留的一個問題就是,請求數量有點多,雖然現在的瀏覽器的請求資源都是併發的。但是我們還是儘量減少請求量。

但是KISSY裡面這個問題我們怎麼解決呢,其實還是從data-config="{combine:false}"說起.

 

我們現在把combine設置成true試試

打開index.html發現頁面沒有正常運行,打開調試模式看看,發現報錯了

 

有沒有註意到請求的鏈接 file:///Users/**/Documents/Git/kissydemo/node_modules/kissy/build/??node.js,util.js,dom/base.js,event-dom/base.js,event-base.js,event-dom/focusin.js,anim/transition.js,anim/base.js,promise.js 這個是什麼鏈接??

其實這個就是要使用阿裡的一個靜態資源合併模塊,需要使用Nginx搭建一個靜態資源伺服器,並使用阿裡開源的Nginx合併模塊

好,下麵我們就來搭建一個Nginx靜態資源伺服器

 

一、安裝CentOS7

http://101.96.10.26/isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1611.iso

使用虛擬機安裝完成後.

修改網路配置:

vi /etc/sysconfig/network-scripts/ifcfg-ens33

把onboot設置為yes

TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=2ae493cc-9228-4cb2-a70d-e0104935b95c
DEVICE=ens33
ONBOOT=yes

重啟CentOS

然後使用 IP ADDR 查看IP地址使用Mac命令鏈接CentOS伺服器

ssh [email protected]

輸入密碼後,登錄到系統

使用 yum updae 更新系統,中間需要輸入Y確認更新,然後等待更新完成.

使用 yum install vim 安裝vim文本編輯器

二、安裝Nginx

CentOS伺服器我們裝好了,現在我們安裝Nginx

1.準備工作

由於nginx的一些模塊依賴一些lib庫,所以在安裝nginx之前,必須先安裝這些lib庫,這些依賴庫主要有g++、gcc、openssl-devel、pcre-devel和zlib-devel 所以執行如下命令安裝

   yum install gcc-c++  
   yum install pcre pcre-devel  
   yum install zlib zlib-devel  
yum install openssl openssl-devel yum install git
  yum install wget

a)下載Nginx

http://nginx.org/download/

mkdir /usr/local/Nginx
cd /usr/local/Nginx
wget http://nginx.org/download/nginx-1.9.9.tar.gz
tar zxvf nginx-1.9.9.tar.gz

 

b)下載nginx-http-concat

git clone https://github.com/idefav/nginx-http-concat
mv nginx-http-concat /usr/local/src

c)編譯

cd ./nginx-1.9.9
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --add-module=/usr/local/src/nginx-http-concat
make && make install

d)配置

創建Nginx賬號ftpuser

adduser ftpuser
passwd ftpuser

 

使用vim打開nginx的配置文件

vim /usr/local/nginx/conf/nginx.conf

修改

user ftpuser;

server_name 192.168.146.129;
location /kissy/ {
    concat on;
root /home/ftpuser/www; concat_types text/css application/javascript; concat_max_files 20; concat_unique off; }

在Nginx配置文件#gzip on; 下麵加上如下配置來開啟gzip

gzip  on;
    gzip_min_length 1k;
    gzip_buffers 4 16k;
    gzip_disable "MSIE [1-6]\.";
    gzip_vary off;
    gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png application/javascript;
    gzip_comp_level 2;

 

 

為了方便上傳文件我們安裝一個ftp服務

yum install vsftpd

配置ftp服務

vim /etc/vsftpd/vsftpd.conf

把匿名登錄取消 anonymous_enable=NO 

開啟ipv4監聽 listen=YES 關閉ipv6監聽 listen_ipv6=NO 

然後使用 service vsftpd start 開啟ftp服務

最後就是要開放埠

80,20,21
以及被動模式埠:6000-7000
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=20/tcp --permanent
firewall-cmd --zone=public --add-port=21/tcp --permanent

firewall-cmd --zone=public --add-port=6000-7000/tcp --permanent
 

重啟防火牆

firewall-cmd --reload

用FileZilla連接伺服器,並創建好 /home/ftpuser/www/kissy 目錄

使用ftp把kissy文件上傳上去

 

開啟Nginx服務

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

使用chrome訪問 http://192.168.146.129/kissy/seed.js 看看是否訪問的到

如果訪問不到請檢查配置.

 

三、測試

修改index.html中的路徑 http://192.168.146.129/kissy/seed.js 並把combine設置為true

刷新頁面發現,頁面可以正常運行了

我們來看看chrome調試模式請求的鏈接

 

http://192.168.146.129/kissy/??node.js,util.js,dom/base.js,event-dom/base.js,event-base.js,event-dom/focusin.js,anim/transition.js,anim/base.js,promise.js

這個就是合併後的鏈接

 

四、結束語

使用KISSY框架可以動態載入所需要的模塊,不用一次性載入所有的js文件。哪裡需要才會載入相應的文件


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 新版本 新版本的flex佈局模型是2012年9月提出的工作草案,這個草案是由W3C推出的最新語法,這個版本立志於指定標準,讓新式的瀏覽器全面相容,在未來的瀏覽器更新換代中實現統一。 目前幾乎大部分的瀏覽器都支持了。瀏覽器支持情況可以點擊這裡查看,下圖為支持flex的情況 屬性詳解 首先和之前一樣,先 ...
  • 關於Bootstrap打包的文件分別代表什麼意思,官網也沒有給出一個明確的解釋,在網上查了一些資料,總價歸納瞭如下: *bootstrap.css 是完整的bootstrap樣式表,未經壓縮過的,可供開發的時候進行調試用*bootstrap.min.css 是經過壓縮後的bootstrap樣式表,內 ...
  • 設計模式並不是某一種語言所特有的,而是一種設計理念,本文學習Javascript的設計模式中的工廠設計模式相關知識。音樂播放器的prototype屬性可以封裝成一個對象,用作父類繼承。建立工廠動態生成WangyiMusic或者QQMusic,然後生成一個QQMusic實例,並調用相應的方法。 ...
  • 簡單的兩個步驟即可實現分頁功能 totalCount':<%=totalpage%>:總頁是第一次載入頁面時查詢出的分頁表的總頁數。 'ajaxCallBack':'loehpagercallback':這裡設置回調方法,你可以將方法名修改任意你在調用頁定義的js方法 'ajaxRequestPar ...
  • 父組件結構 template script 註意的點: 子組件的拼寫方式: 寫成 這裡子組件中的綁定數據是 ,這裡的 數據是父組件中的data, 是要傳遞至子組件的屬性 子組件結構 template 註意的點: v for的遍歷對象時的參數順序 變更 具體見:https://cn.vuejs.org ...
  • node.js實現抓取代理ip 主要文件:index.js 包支持 : package.json 本地需要安裝mongodb資料庫,用於存儲抓取到的ip,目前還未實現ip驗證。寫這個主要是處於好奇。 上面的代碼就可以實現抓取ip代理網站的ip並存到mongodb資料庫中。 下麵在放出一個基於koa2 ...
  • XML和HTML都是W3C的定製的標準,XML的誕生本身是為了替代不成熟的HTML,但是因為現實的環境,XML替代HTML並未成功。之後W3C為了代碼嚴謹性的決心,又發佈了升級版的標記語言XHTML,但是依然因為顯示環境的主要原因,未能成功推廣,知道今天HTML5的誕生! XML簡單的特點 1. 比 ...
  • 一 HTTP概述 HTTP簡單說其實就是一套語言交流規則!Http使用的是可靠的數據傳輸協議,因此即使數據來自地球的另一端,也能夠確保數據在傳輸過程中不會被損壞或產生混亂。 B/S結構 用戶在瀏覽器,請求伺服器具體的文件地址,稱為請求協議,然後伺服器做出響應返回用戶請求的相應的信息,成為響應協議。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...