.jsm vs .js文件

jam*_*tha 20 javascript

我正在为firefox扩展创建一个javascript模块.我很好奇扩展是否有所作为.在我看过的例子中,看起来任何一个都可以,我想确定.

谢谢

Vic*_*tor 15

没有任何区别.

我想只是方便地知道哪些文件是"模块"一目了然,但无论如何都没有正式的javascript模块,这都是常规.

  • 截至目前(2016年)这是不正确的..jsm用于表示它是一个javascript模块,就像MrHIDEn的回答一样.这更多地涉及节点而不是浏览器,但.jsm通常意味着期望`import`和`export`关键字. (4认同)
  • @ChristianGrabowski 您可能会将此与 .mjs 混淆,后者与此不同。 (2认同)

MrH*_*DEn 9

Mozilla在这里定义.jsm:JavaScript代码模块
在他们的定义中,您必须定义导出的变量和函数,
var EXPORTED_SYMBOLS = ["foo", "bar"];只有那些将在范围内.
但我真的不知道这是否适用于HTML页面.

  • 我认为现在正确的链接是 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules,现在是 404 上面答案中的链接。话虽这么说,我粘贴的链接讨论的是 .mjs 文件,所以它可能不完全匹配 (3认同)