CHI*_*URY 5 javascript firefox firefox-addon firefox-addon-sdk jpm
jpm版本是1.1.3
npm版本是2.15.8
节点版本是4.4.7
Firefox版本是48.0
index.js的内容:
var self = require("sdk/self");
console.log("************************************");
Run Code Online (Sandbox Code Playgroud)
输出"jpm run"命令
JPM [info] Starting jpm run on My Jetpack Addon
JPM [info] Creating a new profile
Run Code Online (Sandbox Code Playgroud)
根据index.js文件的内容,*应在控制台上输出一行符号.但是,欲望输出不在控制台中.
代码有问题吗?
我的package.json文件的内容:
{
"title": "My Jetpack Addon",
"name": "temp",
"version": "0.0.1",
"description": "A basic add-on",
"main": "index.js",
"author": "",
"engines": {
"firefox": ">=38.0a1",
"fennec": ">=38.0a1" },
"license": "MIT",
"keywords": [
"jetpack" ]
}
Run Code Online (Sandbox Code Playgroud)
Mak*_*yen 12
jpm run 不适用于Firefox 48或更高版本的发行版问题不是jpm,而是你正试图与Firefox 48的发行版本的火狐48的使用它,Mozilla已经禁用设置首选项的能力xpinstall.signatures.required,以 false允许未签名的附加软件来加载.因此,您的加载项将添加到该Firefox配置文件中,但已被禁用:
jpm run
Run Code Online (Sandbox Code Playgroud)
要测试您的插件,您需要安装不同版本的Firefox并使用该-b选项jpm run来分辨jpm要使用的Firefox版本.假设您不想使用旧版本的Firefox,您可以选择Firefox Developer Edition,Firefox Nightly,Unbranded Beta或Unbranded Release.
[注意(2016-08-11):我在过去几天的测试表明,Firefox 48的Unbranded Release版本和Firefox 49.0b2的Unbranded Beta版本存在的问题不是48或49而是那些版本是Nightly或Developer Edition.当前的Developer Edition(50.0a2)或Nightly(51.0a2)中不存在这些问题.换句话说,我有一个加载项,可以在Developer Edition(50.0a2)和Nightly(51.0a2)中使用,并且可以在Developer Edition(49.0a2)和Developer Edition(48.0a2)中工作,但是它没有在Unbranded Release(48.0)或Unbranded Beta(49.0b2)中工作.因此,我建议不要在此时使用非品牌版本的Firefox.]
jpm run -b nightly
Run Code Online (Sandbox Code Playgroud)
这个词nightly是一个快捷方式,它解析为Firefox Nightly的默认位置.根据你使用的是什么操作系统,还有可用于其它的快捷方式的名称(如firefox,firefoxdeveloperedition,beta,nightly,和aurora).但是,它们无法在所有操作系统上正确解析.您始终可以选择指定要使用的Firefox版本的完整路径.
使用-b选项指定路径的另一种方法是将JPM_FIREFOX_BINARY环境变量更改为您希望与之一起使用的Firefox可执行文件的路径jpm.
注意:我已经更新了MDN上jpm 的安装文档,以反映从Firefox 48开始需要非Firefox版本.如果您最近访问过该页面,则可能需要使用Ctrl- F5按顺序刷新页面看到新内容.