【问题标题】:how can i use firefox require function in typescript我如何在 typescript 中使用 firefox require 函数
【发布时间】:2016-02-23 19:50:02
【问题描述】:

我正在 typescript 中编写 firefox 插件(并且我使用 webpack 来构建项目),我对这个问题感到困惑。 firefox 里面有require 函数,我这样用:

let { Cu, Cc, Ci } = require('chrome');

但是 typescript(更准确地说是 tslint)将其视为导入/导出语句,并且需要更改表达式。 我已经声明了要求:

declare function require(moduleId:string) : any;

但它没有给出任何结果。 我也改变了 tslint.json 中的no-var-requires 选项,但没有引起任何注意。

所以问题是 - 是否可以在 typescript 代码中使用 firefox require 函数以及如何通过 typescript、tslint 和 webpack 拖动此函数(它也将目光投向了 require)?

提示 - 这是关于背景脚本,而不是内容或弹出窗口。

【问题讨论】:

  • 非常非常酷。我喜欢打字稿,但还没有在 Firefox 项目中使用它。
  • 好的,伙计们,有两种方法可以找到我:
  • ffrequire=eval('require');在代码中进一步使用 ffrequire。或者编辑 webpack 配置,例如: externals: [{"sdk/self" : "require('sdk/self')"}] 并在代码中使用正常的 require。
  • 太棒了!谢谢分享!
  • 不客气!注意 - 如果您想通过 firefox 商店分发,第一种方法不是最好的 - 它需要清单中的 'unsafe-eval' content_security_policy,这对于审阅者来说是不可接受的。

标签: javascript typescript firefox-addon webpack es6-module-loader


【解决方案1】:

我还更改了 tslint.json 中的 no-var-requires 选项,但没有引起任何注意。

完全删除该规则。如果这不起作用,请重新启动您的开发环境。

【讨论】:

    猜你喜欢
    • 2017-05-27
    • 2016-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-02
    • 2021-08-28
    • 2021-09-05
    相关资源
    最近更新 更多