簡體   English   中英

Firefox插件SDK:Babel支持

[英]Firefox Addon SDK: Babel support

我正在嘗試將React用作我正在開發的firefox插件的一部分。 只要我不使用jsx,React就可以正常工作。 Babel無法正常工作-因為我無法指定所添加腳本的類型。

我正在做:

tabs.open({                                                   
    url: 'index.html',
    onReady: function( tab ){
        var worker = tab.attach({
            contentScriptFile: [
                './jquery-2.1.4.min.js',
                '../node_modules/react/dist/react.js',
                '../node_modules/react-dom/dist/react-dom.js',
                '../node_modules/babel-preset-react/index.js',
                './js/main.js', // the file i need to specify as type: text/babel
            ],
        });
   }
);

理想情況下,我可以在'./js/main.js'腳本上設置type屬性,但是文檔似乎沒有任何內容。

訣竅是像往常一樣直接在HTML中加載react,jquery,babel和jsx。 您必須使用contentScriptFile參數加載的javascripts文件是您加載邏輯以與插件主js文件進行通信所需的那些文件。

有效html的示例為:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>Hello React!</title>
    <script src="react-with-addons.js"></script>
    <script src="react-dom.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.23/browser.min.js"></script>
  </head>
  <body>
    <h1>Hello!</h1>
    <div id="example"></div>
    <script type="text/babel">
      ReactDOM.render(
        <p>Hello, world!</p>,
        document.getElementById('example')
      );
    </script>
  </body>
</html>

如果您告訴我在該html / content腳本中需要執行的操作,那么我可以舉一個例子說明如何與主腳本進行通信。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM