用ExtJS組建前端框架有一年多了,考慮到ExtJS中js過多,為提高效率,所以開始尋找打包的方法,然后就發(fā)現(xiàn)了這個(gè)Sencha Cmd。首先Sencha Cmd不僅僅是為了打包而生的,它同樣具有構(gòu)建前端框架的作用。
創(chuàng)新互聯(lián)公司主要為客戶提供服務(wù)項(xiàng)目涵蓋了網(wǎng)頁視覺設(shè)計(jì)、VI標(biāo)志設(shè)計(jì)、成都全網(wǎng)營銷推廣、網(wǎng)站程序開發(fā)、HTML5響應(yīng)式成都網(wǎng)站建設(shè)、成都手機(jī)網(wǎng)站制作、微商城、網(wǎng)站托管及網(wǎng)頁維護(hù)、WEB系統(tǒng)開發(fā)、域名注冊、國內(nèi)外服務(wù)器租用、視頻、平面設(shè)計(jì)、SEO優(yōu)化排名。設(shè)計(jì)、前端、后端三個(gè)建站步驟的完善服務(wù)體系。一人跟蹤測試的建站服務(wù)標(biāo)準(zhǔn)。已經(jīng)為成都辦公空間設(shè)計(jì)行業(yè)客戶提供了網(wǎng)站營銷服務(wù)。
以下為所需的環(huán)境:
Sencha Cmd 下載地址:http://www.sencha.com/products/sencha-cmd/download/
Ruby 下載地址:http://rubyinstaller.org/downloads
Ant下載地址:http://ant.apache.org/bindownload.cgi
Ruby是為了使用其中的gem(類似于nodejs中的NPM)去下載sass和compass,而compass在build中起到編譯打包sass文件為css文件的作用。
Ruby安裝完成后會(huì)有g(shù)em一起安裝完成,由于國內(nèi)的網(wǎng)絡(luò),用gem加載sass與compass時(shí)要注意替換gem的resources地址,參照淘寶提供的鏡像,
1、創(chuàng)建workspace:
sencha generate workspace /path/to/workspace
2、創(chuàng)建項(xiàng)目
sencha generate app -ext MyApp /path/to/MyApp
3、build項(xiàng)目
此處sencha命令需要到MyApp目錄下執(zhí)行
sencha app build
4、sencha運(yùn)行
sencha web start
登陸地址:
http://localhost:1841/MyApp/
其中build中多次遇到 MyApp\.sencha\app\build-impl.xml中報(bào)錯(cuò)
一下提出一種解決方案:
1、在ext\cmd下的sencha.cfg起始處添加配置skip.sass=1
2、將ext\cmd下的sencha.cfg文件拷貝到MyApp\app目錄下
3、到MyApp目錄下sencha app build打包
4、將build\temp\production\MyApp\slicer-temp下的MyApp-example.css拷貝到build\production\MyApp\resources下,并更名為MyApp-all.css
5、重新執(zhí)行步驟3
出錯(cuò)步驟還是存在于sass文件的編譯打包過程中,此處將本應(yīng)該生成到目標(biāo)地址的文件用文件替換的方式讓build繼續(xù)走下去。
如果大家有相應(yīng)的解決方案,請不吝賜教!
更換主題樣式
修改./app.js的一下內(nèi)容:
"theme": "ext-theme-crisp",
修改bootstrap.css
@import '../ext/packages/ext-theme-crisp/build/resources/ext-theme-crisp-all.css';
修改完成后重新編譯
添加圖表插件
如果要調(diào)用ext-charts:(此處解決方案借鑒stackoverflow)
1、重新編譯ext-charts,這一點(diǎn)很關(guān)鍵,也是解決ext5中l(wèi)egend異常的方案(問題可參照我的另一篇chart博客)
cp -R ext/packages/ext-charts ./packages/ext-charts cd ./packages/ext-charts sencha package build
2、./app.json中添加配置
"requires": [ "ext-charts" ],
然后
sencha app refresh
或者重新編譯app
sencha app build
重新編譯時(shí)一定要把bootstrap.css修改回編譯前的樣式css
@import '../ext/packages/ext-theme-crisp/build/resources/ext-theme-crisp-all-rtl.css';
編譯后的樣子是
@import '../build/production/MyApp2/resources/MyApp-all.css';
若以此形式重新編譯就會(huì)出現(xiàn)legend顯示異常等問題
打包測試模式
打包后的測試模式可以進(jìn)行調(diào)試,代碼未壓縮混淆,但文件已合并為production形式
sencha app build testing
testing打包后位置為 build\testing\MyApp
chart的production版本圖表異常
引用ext-charts后在workspace中調(diào)試正常,
但是build時(shí)沒有報(bào)錯(cuò),且build production后圖表顯示異常,報(bào)錯(cuò)僅是
.js not found
然后我們需要采用testing模式來調(diào)試就能看到真正的報(bào)錯(cuò),發(fā)現(xiàn)是缺少 'axis.numeric','axis.category','series.column'等引用,在打包后的app.js中也找不到這些js。
那我們要在哪里添加這些模塊呢,我們需要在具體引用這些模塊的地方
requires:[ "Ext.chart.series.Column", "Ext.chart.axis.Numeric", "Ext.chart.axis.Category" ],
這個(gè)問題要感謝這篇stack overflow提供的思路。
本文標(biāo)題:ExtJS(6)-用SenchaCmd構(gòu)建打包Ext項(xiàng)目
文章分享:http://vcdvsql.cn/article38/pdsgsp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、標(biāo)簽優(yōu)化、企業(yè)網(wǎng)站制作、網(wǎng)站制作、網(wǎng)站導(dǎo)航、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)