如何在Electron应用程序中实现ReactJs?

时间:2018-06-07 13:27:00

标签: reactjs electron

我正在Electron中启动一个应用程序,但是假设我分两部分,一部分,Electron,配置没问题,除了我在其他文件中使用ReactJS做的另一部分,相对准备好了,丢失了调整。我的问题如下,我如何在ReactJS中做这个部分我在Electron中实现? (我的英文很糟糕,由谷歌翻译翻译,抱歉)。

我将无法显示代码,因为它会很复杂,但为了让它更容易,我会放一些文件夹的打印。

第一张图片。这是电子所在的文件夹,主文件是我设置电子的main.js,htlms说这与此类无关一个疑问。而package.json会另外打印出来。

第二张图片。我必须安装React,但由于我不知道该怎么做,所以我没有继续。

第三张图片。这就是React的“公众”,他会说这与这样的问题无关。

第四张图片。这就是React部分的工作原理。在App.js中,但特别是在渲染中,它将是另一个Electron browserWindow。 index.js将是“主要”,我将打印。 registerServiceWorking.js我会说我不太了解它的用途。

第五张图片。正如我所说,这是索引,它会导入东西(不知道这种情况的正确用语)。

我不得不把它作为代码,因为它是错误的

First: [prntscr.com/js21oa][1]
Second: [prntscr.com/js22kh][1]
Third: [prntscr.com/js22yx][1]
Fourth: [prntscr.com/js23a3][1]
Fifth: [prntscr.com/js24nb][1]

为了说清楚,我是这些问题和StackOverflow的新手,对不起,如果格式化不好和图像,我只通过外部网站。如果有人要我澄清一些我没有说清楚的话,那就说我会澄清一下。如果你还没有理解别的,我道歉。我希望你明白了。提前谢谢。

1 个答案:

答案 0 :(得分:0)

我猜你已经创建了一个反应应用程序,你想让它成为一个带电子的桌面应用程序。我没有足够的声誉来评论澄清事情。我将向您展示我在我的react电子桌面应用程序中所做的示例代码,我希望它有所帮助。我假设你已经安装了电子和所有其他所需的包。

main.js

const {app, BrowserWindow} = require('electron')

let mainWindow

function createWindow () {
  // Create the browser window.
  mainWindow = new BrowserWindow({width: 800, height: 600})

  // and load the index.html of the app.
  mainWindow.loadFile('index.html')


  mainWindow.on('closed', function () {
    mainWindow = null
  })
}

app.on('ready', createWindow)

// Quit when all windows are closed.
app.on('window-all-closed', function () {

  if (process.platform !== 'darwin') {
    app.quit()
  }
})

app.on('activate', function () {
  if (mainWindow === null) {
    createWindow()
  }
})

并在index.html我的根文件夹

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta name="theme-color" content="#000000">

    <link rel="manifest" href="%PUBLIC_URL%/manifest.json">
    <link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico">

    <title>React App</title>
  </head>
  <body class="fix-header card-no-border">
    <noscript>
      You need to enable JavaScript to run this app.
    </noscript>
      <div id="root"></div>
      <script type="text/javascript" src="build/static/js/main.7f2e4ee8.js"></script>
  </body>
</html>