Kotlin 是我最喜爱的编程语言。我们已经知道 Kotlin 编译成 Java 字节码可以快速被安卓和服务端采用。事实上,Kotlin 还支持编译成 JavaScript,因此该语言也开始在 Web 生态系统中受到关注。
尽管已经发布了许多 Kotlin 编写的 Web 应用程序,但至今人们都忽略了 Kotlin 还可以写浏览器扩展插件。所以我写了这篇文章,和大家一起探讨使用 Kotlin JS 编写一个简单的 Firefox 扩展插件的过程。
这个扩展程序基于 Mozilla 的 “你的第一个扩展程序”,可简单地给网站 kotlinlang.org 添加一个红色的边框。
环境要求
为了测试我们的 Firefox 的扩展插件,我们将要用到 Mozilla 的 web-ext 工具。想要使用它,需要安装一个 node.js,然后在终端运行以下的命令:
npm install --global web-ext
此外,还需要使用 IntelliJ IDEA 2017.2.6 和 1.1.60 版本的 Kotlin 插件来开发扩展程序。
配置项目
打开 Intelli IDEA,创建一个新的 Gradle 基础项目,并勾选 Kotlin(**JavaScript) **选项。
![926d212d7244823b868f7b66c077199f.png](https://img-blog.csdnimg.cn/img_convert/926d212d7244823b868f7b66c077199f.png)
*使用 *Kotlin (JavaScript) 创建一个新工程
我们继续按照向导的步骤执行,直到创建并打开空项目。
下一步,启用 Kotlin JS 的 Dead Code Elimination 插件。这步非常重要,因为 Kotlin JS 程序需要捆绑超过兆字节大小的 Kotlin stdlib。但我们可以通过删除无用的代码来大幅度减少编译的代码量。
要启用这个插件,只需要在 build.gradle 文件中添加下面这行代码。
apply plugin: 'kotlin-dce-js'
创建扩展清单
在下一步中,我们会添加 Firefox 扩展所需的清单文件。这个文件被命名为 manifest.json,位于我们项目的根目录下。该文件应包含如下内容:
{ "manifest_version": 2, "name": "Kotlin Borderify