Google chrome extension RequireJS不支持Firefox WebExtensions插件中的JavaScript

Google chrome extension RequireJS不支持Firefox WebExtensions插件中的JavaScript,google-chrome-extension,requirejs,firefox-addon,firefox-addon-webextensions,Google Chrome Extension,Requirejs,Firefox Addon,Firefox Addon Webextensions,我正在尝试使用将Chrome扩展移植到Firefox插件。我正在使用加载JavaScript文件。 下面的代码在我的Chrome扩展中运行良好,但在Firefox中却不行 有人对此有什么建议吗?谢谢 manifest.json: requireInit.js: csApp.js 编辑:console.log()在jQuery中工作。但是,csApp.js中的console.log()不起作用。我发现了问题的根源 它是 我使用的是lodash.js而不是下划线.js "underscore": "

我正在尝试使用将Chrome扩展移植到Firefox插件。我正在使用加载JavaScript文件。 下面的代码在我的Chrome扩展中运行良好,但在Firefox中却不行

有人对此有什么建议吗?谢谢

manifest.json:

requireInit.js:

csApp.js


编辑:
console.log()
在jQuery中工作。但是,csApp.js中的
console.log()
不起作用。

我发现了问题的根源

它是

我使用的是lodash.js而不是下划线.js

"underscore": "js/vendor/lodash",

Lodash与Firefox 45-46兼容,我使用的是最新的Firefox,即47.0。因此,我用下划线替换了lodash,现在我的web扩展工作正常。

好的,当您查看Firefox提供的诊断工具和控制台时,您看到了什么?有什么东西可以装吗?有些东西负载,而另一些则不负载?编辑您的问题以添加这些详细信息。根据您在问题中提供的信息,一种可能是Firefox没有执行
requireInit.js
,但这只是一种猜测。感谢您的建议@Louis请查看编辑。您已经排除了我在评论中表达的一种可能性。很好,但是你没有回答我在评论开始时提出的任何问题。请编辑您的问题以回答这些问题。除已提出的问题外,请提供完整的答案,以便可以复制您的问题。您的扩展功能还需要其他文件。如果没有这些,我们必须猜测您的扩展是如何配置的,这可能会对您的问题产生重大影响。对于主题上的问题,代码需要在问题中。但是,即使是指向其他地方代码的链接也会有所帮助。
  require.load = function(context, moduleName, url) {

  var xhr = new XMLHttpRequest(),
      evalResponseText = function(xhr) {
          eval(xhr.responseText);
          context.completeLoad(moduleName);

      };

  xhr.open("GET", url, true);
  xhr.onreadystatechange = function(e) {
      if (xhr.readyState === 4 && xhr.status === 200) {
          evalResponseText.call(window, xhr);
      }
  };
  xhr.send(null);


 };
var baseUrl=browser.extension.getURL("/");
requirejs.config({
    config: {
        text: {
            useXhr: function (url, protocol, hostname, port) {
                // allow cross-domain requests
                // remote server allows CORS
                return true;
            }
        }
    },
    skipDataMain: true,
    baseUrl: baseUrl,
    paths: {
        "jquery": "js/vendor/jquery",
        "underscore": "js/vendor/lodash",
        "backbone": "js/vendor/backbone",
        "marionette": "js/vendor/marionette",
        "app": "js/app"
    }
});

console.log("before loading files");//working

require(['jquery', 'app/csApp'], function ($, app) {
    console.log("all js loaded");//not working
});
console.log("inside cs app");//working
    define(function(require) {
      'use strict';
     var $ = require('jquery'),
        _ = require('underscore'),
        Backbone = require('backbone'),
        Marionette = require('marionette'),
        csApp = new Marionette.Application();

       console.log("csApp");//not working
          return csApp;
    });
"underscore": "js/vendor/lodash",