atom插件開發(fā)-react應(yīng)用模塊下載插件

剛做完一個atom插件項目渗鬼,通過這個插件下載一些上傳在服務(wù)器上的react代碼應(yīng)用刹衫,以幫助react的初學(xué)者快速上手。趁現(xiàn)在都記得口糕,把遇到的問題及解決問題的方法都總結(jié)下缅阳,希望對后面開發(fā)atom插件的童靴給個參考。

一. 新建一個插件

啟動atom編輯器走净,按下 cmd+shift+p(mac)或者 ctrl+shift+p(Windows/Linux)來打開命令面板

搜索“Package Generator: Generate Package”并點擊列表中正確的條目券时,你會看到一個輸入提示,將 “my-package" 改成你自己插件的名稱:“react-template”伏伯。


image.png

按下回車鍵來生成這個插件的骨架代碼,它會自動在 Atom 中打開捌袜。
基本的文檔結(jié)構(gòu)如圖所示:


image.png

二.運行插件

第一種方式:快捷鍵啟動
打開keymaps中的react-template.json文件说搅,里面標識了啟動這個插件的默認快捷鍵:“ctrl-alt-o",這可以更改,不與你系統(tǒng)中存在的快捷鍵沖突即可虏等。


image.png

啟動插件弄唧,按“ctrl-alt-o"适肠,出現(xiàn)這樣一個彈窗,證明你新建的插件是好用的.要是沒有效果候引,就先刷新下侯养,執(zhí)行Window: Reload,或者使用快捷鍵ctrl-shift-F5(win),ctrl-alt-cmd-l(mac)


image.png

出現(xiàn)這個彈窗后點擊彈窗是沒法關(guān)閉它的澄干,必須使用ctrl-alt-o,或者刷新才可以逛揩。
第二種方式:在菜單里啟動
找到packages里你的插件名稱react-template,點擊Toggle即可啟動,關(guān)閉也是同樣操作麸俘。

.

三.插件里文件的基本介紹

1.keymaps

定義了插件的快捷鍵辩稽,可以自己設(shè)置。atom-workspace 是設(shè)置快捷鍵起作用范圍从媚,只要在工作區(qū)域按快捷鍵就可以觸發(fā)彈窗命令逞泄。如果定義 atom-text-editor,那么就只能在編輯區(qū)域觸發(fā)命令

2.lib

react-template-view.js
react-template.js

lib里面有兩個文件拜效,是實現(xiàn)插件功能的代碼喷众。主入口文件為react-template.js,這個會在package.json的main中指定。react-template-view.js這個文件是視圖模板紧憾,我們的插件的外觀需要在這里設(shè)置到千。

  • activate(state):在插件激活的時候觸發(fā),這時候工作區(qū)已經(jīng)準備就緒了稻励。如果你的包實現(xiàn)了 serialize() 方法父阻,那么將會傳遞上次窗口序列化的 state 數(shù)據(jù)給該方法,常用于執(zhí)行初始化望抽,例如綁定事件等等加矛。

  • initialize(state):與上個方法類似, 但在它之前調(diào)用。initialize()在你的發(fā)序列化器或視圖構(gòu)建之前調(diào)用煤篙,activate() 是在工作區(qū)環(huán)境都已經(jīng)準備后調(diào)用斟览。如果你想執(zhí)行更多初始化控制,可以使用該方法辑奈。

  • serialize():在窗口關(guān)閉的時候苛茂,如果你的插件需要保存某些狀態(tài)信息,可以使用該函數(shù)鸠窗。當窗口再次打開的時候妓羊,狀態(tài)信息會傳遞給activate(state)。

  • deactivate():該方法在窗口關(guān)閉的時候執(zhí)行稍计,在這里需要解綁事件綁定躁绸、清理插件需要的資源。

3.menus

目錄包括一個cson文件,用于設(shè)置插件的菜單項净刮。默認的文件如下剥哑,其中context-menu設(shè)置上下文菜單,也就是右鍵打開的菜單淹父;menu設(shè)置菜單項中打開的菜單株婴。

{
  "context-menu": {
    "atom-text-editor": [
      {
        "label": "Toggle react-template",
        "command": "react-template:toggle"
      }
    ]
  },
  "menu": [
    {
      "label": "Packages",
      "submenu": [
        {
          "label": "react-template",
          "submenu": [ {"label": "Toggle",
              "command": "react-template:toggle" }]}]
    }
  ]
}

4.spec

測試代碼

5.styles

styles 目錄下存放的是插件的樣式文件∈钊希可以使用 CSS 或 LESS 編寫

6.package.json

{
  "name": "react-template",
  "main": "./lib/react-template",
  "version": "0.0.0",
  "description": "A short description of your package",
  "keywords": [
  ],
  "activationCommands": {
    "atom-workspace": "react-template:toggle"
  },
  "repository": "https://github.com/atom/react-template",
  "license": "MIT",
  "engines": {
    "atom": ">=1.0.0 <2.0.0"
  },
  "dependencies": {
  }
}

package.json跟npm類似困介, 涉及一些發(fā)布和各種配置,他自己的獨特之處如下:

  • main : 這個是你執(zhí)行命令后進入的主文件穷吮,也就是入口文件逻翁,默認是尋找index的,同時atom支持 coffee 和 js
  • styles :一個字符串數(shù)組聲明來讓atom加載樣式文件順序捡鱼,如果沒有八回,就順序的讀取styles文件夾里面的文件
  • keymaps : 一個字符串數(shù)組聲明package需要加載的key map文件順序,如果沒有驾诈,按順序讀取keymaps文件夾的文件
  • activationCommands :一個對象來聲明觸發(fā)你的package的行為缠诅,key是css選擇器形式,value是一個字符串數(shù)組聲明命令乍迄。知道規(guī)定的css 選擇器中一個觸發(fā)了管引,才會載入你的package
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市闯两,隨后出現(xiàn)的幾起案子褥伴,更是在濱河造成了極大的恐慌,老刑警劉巖漾狼,帶你破解...
    沈念sama閱讀 223,002評論 6 519
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件重慢,死亡現(xiàn)場離奇詭異,居然都是意外死亡逊躁,警方通過查閱死者的電腦和手機似踱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,357評論 3 400
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來稽煤,“玉大人核芽,你說我怎么就攤上這事〗臀酰” “怎么了轧简?”我有些...
    開封第一講書人閱讀 169,787評論 0 365
  • 文/不壞的土叔 我叫張陵,是天一觀的道長匾二。 經(jīng)常有香客問我吉懊,道長庐橙,這世上最難降的妖魔是什么假勿? 我笑而不...
    開封第一講書人閱讀 60,237評論 1 300
  • 正文 為了忘掉前任借嗽,我火速辦了婚禮,結(jié)果婚禮上转培,老公的妹妹穿的比我還像新娘恶导。我一直安慰自己,他們只是感情好浸须,可當我...
    茶點故事閱讀 69,237評論 6 398
  • 文/花漫 我一把揭開白布惨寿。 她就那樣靜靜地躺著,像睡著了一般删窒。 火紅的嫁衣襯著肌膚如雪裂垦。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,821評論 1 314
  • 那天肌索,我揣著相機與錄音蕉拢,去河邊找鬼。 笑死诚亚,一個胖子當著我的面吹牛晕换,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播站宗,決...
    沈念sama閱讀 41,236評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼闸准,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了梢灭?” 一聲冷哼從身側(cè)響起夷家,我...
    開封第一講書人閱讀 40,196評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎敏释,沒想到半個月后库快,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,716評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡颂暇,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,794評論 3 343
  • 正文 我和宋清朗相戀三年缺谴,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片耳鸯。...
    茶點故事閱讀 40,928評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡湿蛔,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出县爬,到底是詐尸還是另有隱情阳啥,我是刑警寧澤,帶...
    沈念sama閱讀 36,583評論 5 351
  • 正文 年R本政府宣布财喳,位于F島的核電站察迟,受9級特大地震影響斩狱,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜扎瓶,卻給世界環(huán)境...
    茶點故事閱讀 42,264評論 3 336
  • 文/蒙蒙 一所踊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧概荷,春花似錦秕岛、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,755評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至愈捅,卻和暖如春遏考,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蓝谨。 一陣腳步聲響...
    開封第一講書人閱讀 33,869評論 1 274
  • 我被黑心中介騙來泰國打工灌具, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人像棘。 一個月前我還...
    沈念sama閱讀 49,378評論 3 379
  • 正文 我出身青樓稽亏,卻偏偏與公主長得像,于是被迫代替她去往敵國和親缕题。 傳聞我的和親對象是個殘疾皇子截歉,可洞房花燭夜當晚...
    茶點故事閱讀 45,937評論 2 361

推薦閱讀更多精彩內(nèi)容