atom插件开发-react应用模块下载插件

刚做完一个atom插件项目,通过这个插件下载一些上传在服务器上的react代码应用,以帮助react的初学者快速上手。趁现在都记得,把遇到的问题及解决问题的方法都总结下,希望对后面开发atom插件的童靴给个参考。

一. 新建一个插件

启动atom编辑器,按下 cmd+shift+p(mac)或者 ctrl+shift+p(Windows/Linux)来打开命令面板

搜索“Package Generator: Generate Package”并点击列表中正确的条目,你会看到一个输入提示,将 “my-package" 改成你自己插件的名称:“react-template”。


image.png

按下回车键来生成这个插件的骨架代码,它会自动在 Atom 中打开。
基本的文档结构如图所示:


image.png

二.运行插件

第一种方式:快捷键启动
打开keymaps中的react-template.json文件,里面标识了启动这个插件的默认快捷键:“ctrl-alt-o",这可以更改,不与你系统中存在的快捷键冲突即可。


image.png

启动插件,按“ctrl-alt-o",出现这样一个弹窗,证明你新建的插件是好用的.要是没有效果,就先刷新下,执行Window: Reload,或者使用快捷键ctrl-shift-F5(win),ctrl-alt-cmd-l(mac)


image.png

出现这个弹窗后点击弹窗是没法关闭它的,必须使用ctrl-alt-o,或者刷新才可以。
第二种方式:在菜单里启动
找到packages里你的插件名称react-template,点击Toggle即可启动,关闭也是同样操作。

.

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

1.keymaps

定义了插件的快捷键,可以自己设置。atom-workspace 是设置快捷键起作用范围,只要在工作区域按快捷键就可以触发弹窗命令。如果定义 atom-text-editor,那么就只能在编辑区域触发命令

2.lib

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

lib里面有两个文件,是实现插件功能的代码。主入口文件为react-template.js,这个会在package.json的main中指定。react-template-view.js这个文件是视图模板,我们的插件的外观需要在这里设置。

  • activate(state):在插件激活的时候触发,这时候工作区已经准备就绪了。如果你的包实现了 serialize() 方法,那么将会传递上次窗口序列化的 state 数据给该方法,常用于执行初始化,例如绑定事件等等。

  • initialize(state):与上个方法类似, 但在它之前调用。initialize()在你的发序列化器或视图构建之前调用,activate() 是在工作区环境都已经准备后调用。如果你想执行更多初始化控制,可以使用该方法。

  • serialize():在窗口关闭的时候,如果你的插件需要保存某些状态信息,可以使用该函数。当窗口再次打开的时候,状态信息会传递给activate(state)。

  • deactivate():该方法在窗口关闭的时候执行,在这里需要解绑事件绑定、清理插件需要的资源。

3.menus

目录包括一个cson文件,用于设置插件的菜单项。默认的文件如下,其中context-menu设置上下文菜单,也就是右键打开的菜单;menu设置菜单项中打开的菜单。

{
  "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类似, 涉及一些发布和各种配置,他自己的独特之处如下:

  • main : 这个是你执行命令后进入的主文件,也就是入口文件,默认是寻找index的,同时atom支持 coffee 和 js
  • styles :一个字符串数组声明来让atom加载样式文件顺序,如果没有,就顺序的读取styles文件夹里面的文件
  • keymaps : 一个字符串数组声明package需要加载的key map文件顺序,如果没有,按顺序读取keymaps文件夹的文件
  • activationCommands :一个对象来声明触发你的package的行为,key是css选择器形式,value是一个字符串数组声明命令。知道规定的css 选择器中一个触发了,才会载入你的package
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,444评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,421评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,363评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,460评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,502评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,511评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,280评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,736评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,014评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,190评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,848评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,531评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,159评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,411评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,067评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,078评论 2 352

推荐阅读更多精彩内容