1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
---
title: Tips and Tricks
slug: Mozilla/Add-ons/WebExtensions/Tips
translation_of: Mozilla/Add-ons/WebExtensions/Tips
---
<p>{{AddonSidebar}}</p>
<p>Esta paginas contêm varias dicas e truques que deve ser útil para muitas pessoas devenvolvendo extensões usando WebExtension APIs.</p>
<h2 id="Usando_recursos_avancados_do_ECMAScript_2015_e_2016.">Usando recursos avancados do ECMAScript 2015 e 2016.</h2>
<p>Firefox <a href="/Web/JavaScript/New_in_JavaScript/ECMAScript_6_support_in_Mozilla">suporta muitos recursos do ECMAScript 2015</a> fora da box. Diversas novidades e recursos experimental, contanto entretanto, não estão disponiveis por padrão para a Web ou WebExtensions. Se você quer usar esses recursos, é melhor transpilar seu codigo usando uma ferramenta como o <a href="https://babeljs.io/">Babel</a>.</p>
<p>Cuidado que qualquer coisa abalixo desta linha é informação desatualizada e tem sido removida do Babel 6.</p>
<p>Babel fornece transformações para a grande maioria dos recursos do ES2015, e os habilita por padrão. Uma vez que o Firefox já suporta totalmente a maiorias dessas, é melhor configurar Babel para ignorar-lá. Nós sugerimos criando um arquivo <code>.babelrc</code>, ou uma seção <code>babel</code> em seu arquivo de projeto <code>package.json</code> contendo o seguinte:</p>
<pre class="brush: js">{
"env": {
"firefox": {
"sourceMaps": "inline",
"blacklist": [
"es5.properties.mutators",
"es6.arrowFunctions",
"es6.destructuring",
"es6.forOf",
"es6.parameters",
"es6.properties.computed",
"es6.properties.shorthand",
"es6.spec.symbols",
"es6.spread",
"es6.tailCall",
"es6.templateLiterals",
"es6.regex.sticky",
"es6.regex.unicode"
]
}
}
}
</pre>
<p>Então, para compilar um script individual simplesmente, execute:</p>
<pre class="brush: sh">BABEL_ENV=firefox babel <filename>
</pre>
<p>Ou, para compilar cada arquivo JavaScript dentro do diretório <code>src</code> e colocar os arquivos compilados em <code>compiled</code>, copiando arquivos não-JavaScript no processo, executadno:</p>
<pre class="brush: sh">BABEL_ENV=firefox babel -Dd compiled src
</pre>
|