2013-04-08 40 views
1

根據Sencha的文檔,創建和編譯新主題應該使用Sencha CMD完成。ExtJs 4.2使用指南針編譯主題

我想創建一個新的主題(將從現有的主題繼承),並能夠使用指南針而不是 Sencha CMD進行編譯。

任何想法該怎麼做?

回答

1

如果你想從頭開始創建一個新的主題,那可能會有點壓倒性的,我建議先嚐試擴展一個現有的主題。基本上,一個主題由兩個大部分組成:CSS模板和JavaScript覆蓋; CSS依次被分成SASS代碼,mixins和變量。

Theming guide討論4.2的主題建設;對於繼承示例,您可以查看現有主題:例如,擴展經典主題的灰色主題,繼而繼承以中性主題爲主的基礎主題作爲父項。海王星也可以給你很多JavaScript重寫的例子。

+0

感謝您的詳細回覆,但這並沒有以任何方式真正回答我的問題。 – 2013-04-08 20:49:58

+0

對不起,我錯過了「沒有Sencha Cmd」的部分。有沒有什麼特別的理由可以避免Cmd? – 2013-04-08 23:21:25

+0

1.無法將其安裝在生成機器上。 2.速度很慢。 3.「指南針手錶」。 – 2013-04-09 07:04:34

0

我們已經在我們的應用程序中爲最後一個分機4發佈了,但沒有使用sencha命令工具。請記住,這是4.1代碼,自4.2版本以來它可能已經發生了變化。你需要安裝ruby/compass併爲compass創建一個配置文件,它會告訴它加載ext特定的變量,你可以設置指南針配置變量。 http://compass-style.org/help/tutorials/configuration-reference/

下面是一個示例配置文件命名爲config.rb(我認爲它需要被命名config.rb但不要引用我的。)這是從extDir採取/資源/上海社會科學院

# $ext_path: This should be the path of where the ExtJS SDK is installed 
# Generally this will be in a lib/extjs folder in your applications root 
# <root>/lib/extjs 
$ext_path = "../extjs/4.1" 

# sass_path: the directory your Sass files are in. THIS file should also be in the Sass folder 
sass_path = File.dirname(__FILE__) 

# css_path: the directory you want your CSS files to be. 
# Generally this is a folder in the parent directory of your Sass files 
css_path = File.join(sass_path, "css") 

# We need to load in the Ext4 themes folder, which includes all it's default styling, images, variables and mixins 
load File.join(File.dirname(__FILE__), $ext_path, 'resources', 'themes') 

#Compass config variable 
relative_assets = true 

這裏是DIR結構

  • SASS/config.rb
  • SASS/redTheme.sass
  • SASS/CSS

的redTheme.sass可能看起來像:

$base-color: red; 

@import 'compass'; 
@import 'ext4/default/all'; 

後羅盤在SASS目錄編譯它會創建redTheme.css

  • SASS/CSS/redTheme.css
+0

謝謝,但我問的是4.2和*不*約4.1 – 2013-04-09 07:02:22

+1

@CD ..你是否曾經能夠找到你的問題的答案?我現在正在尋找一種解決方案,使我可以使用指南針手錶來開發Sencha 4.2主題。運行Sencha Cmd看起來真的很重,很慢。 – David 2013-11-04 22:40:23

+0

@David:不幸的是,我還沒有找到解決方案。 – 2013-11-04 23:18:39