我在debian Linux风格上使用npm来安装Jpm.但是我对安装的lodash版本有错误(如下)
test@localhost:~# npm install jpm --global
npm WARN deprecated lodash@2.4.1: lodash@<3.0.0 is no longer maintained. Upgrade to lodash@^3.0.0.
Run Code Online (Sandbox Code Playgroud)
我已经提到了以下几个链接,但我仍然无法更新版本但仍然存在问题.
https://github.com/lodash/lodash/tree/3.10.1-npm
https://github.com/npm/npm/issues/10573
请提出更新lodash版本的解决方案.
我使用JPM在firefox插件上工作.
我想在我的Android手机上安装它,我运行"jpm xpi"并在我的SD卡上复制xpi.当我浏览到文件:// path/to/my/xpi在android firefox中没有任何事情发生.如果我在我的服务器上上传xpi并浏览到url,则会出现同样的问题.
我已经测试了google play firefox最新版本和nighty.
我的错在哪里?
我的index.js文件如下所示:
const actionButton = require('sdk/ui/button/action');
const TAG = "Addon Scratchpad / Index ";
console.log(TAG+'in index.js');
var button = actionButton.ActionButton({
id: "my-button",
label: "my button",
icon: {
"16": "./tool-scratchpad-16.png",
"32": "./tool-scratchpad-32.png"
},
onClick: function() {
debugger;
console.log(TAG+'button clicked');
}
});
Run Code Online (Sandbox Code Playgroud)
文件夹结构是标准:index.js与package.json文件和一个data带有按钮的文件夹png资产.
jpm run导致浏览器打开.但是没有生成按钮,终端或控制台中没有错误,插件调试器声称"此页面没有源代码".
jpm test 导致没有运行测试并且没有抛出错误.
jpm run --debugger 不启动调试器.
在JPM安装期间没有错误(我在全局卸载并重新安装以检查).
index.js位于目录的根目录中,这不是我习惯的,但这显然是正常的:
您的主文件是"index.js",它可以直接在您的加载项的根目录中找到.
如果我解压缩xpi,它看起来很正常.如果我通过拖动到Firefox安装它,同样的问题仍然存在.
我很难过.任何想法,为什么我不能让它工作?
我正在使用它最新的jpm SDK开发一个Firefox附加组件.
完成主要代码后,我使用jpm run命令来运行扩展.
但是插件被禁用了.它说"无法验证ADDON NAME是否在FIREFOX VERSION中使用并且已被禁用."
我正在开始一个Firefox插件,从我看到的:
jpm是管理Firefox插件的工具 ;Google Chrome和Opera;jpm可用WebExtensions.是否可以开发WebExtensions使用jpm?
firefox firefox-addon google-chrome-extension jpm firefox-addon-webextensions
我已经浏览了Mozilla开发者网络" 入门(jpm) "指南,开始使用Firefox附加组件开发.
本指南建议,要查看我对附加组件代码所做的更改的影响,我需要:
我是否真的必须重建我的软件包并运行它的新Firefox实例来查看我的更改?
是否有另一种方法可以从浏览器中刷新附加代码?
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) 我使用时似乎无法显示我的插件图标jpm.相关项目package.json是
"icon": "icon.png",
"icon64": "icon64.png",
Run Code Online (Sandbox Code Playgroud)
当我打开扩展程序包时,我将其install.rdf视为
<em:iconURL>icon.png</em:iconURL>
<em:icon64URL>icon64.png</em:icon64URL>
Run Code Online (Sandbox Code Playgroud)
它们分别是48x48和64x64px png文件.
这两个文件都位于扩展的根目录中.如果我正确阅读了文档,我甚至不必指定这些名称,因为它们是默认名称.
我在Addons-manager中看不到任何扩展图标.我究竟做错了什么?
我有一个可用的Firefox附加组件,它是使用该cfx工具构建的.jpm从Firefox 38开始,该工具正在被剥离.我按照说明进行切换,但在运行时,我undefined经常得到这个术语,即使附加组件工作得很好.
JPM undefined Starting jpm run on Magnetz
Creating XPI
JPM undefined XPI created at C:\Temp\example@add-on-1.0.0.xpi (133ms)
Created XPI at C:\Temp\example@add-on-1.0.0.xpi
JPM undefined Creating a new profile
Run Code Online (Sandbox Code Playgroud)
论坛中有人建议undefined来自一个install.rdf我没有的文件.我只有一个package.json,这是cfx基于过程所需要的.
查看典型install.rdf文件的内容,它似乎包含或多或少相同的数据package.json.有没有办法将其转换package.json为install.rdf?
我实际上无法找到最近更新install.rdf的附加组件,大多数链接都在谈论旧的基于XUL的附加组件.
我也很困惑为什么基于Python的工具(cfx)偏爱基于JavaScript的package.json文件,而较新的基于JavaScript的工具(jpm)倾向于可论证的弃用的基于XML的工具install.rdf.
jpm ×9
firefox ×5
javascript ×3
android ×1
firefox-addon-webextensions ×1
lodash ×1
node.js ×1
npm ×1
package.json ×1
xpi ×1