【问题标题】:How to properly run a Rails app inside Electron?如何在 Electron 中正确运行 Rails 应用程序?
【发布时间】:2015-12-10 17:47:35
【问题描述】:

我对 Electron 很陌生,只是尝试按照文档进行操作。
我能够在 Electron 中运行一个 html,它运行良好。

然后我尝试使用 BrowserWindow loadUrl 加载 Rails 应用程序,但应用程序的 javascript 无法在 Electron 中运行。

我这里主要是这个 index.js:

var app = require ('app')
var BrowserWindow = require ('browser-window')
app.on('ready', function(){
    var mainWindow = new BrowserWindow({
        width:1115,
        height:945
    })
    mainWindow.loadUrl('http://my-app-at-heroku.herokuapp.com')
})

在我的机器上运行服务器并加载http://localhost:3000 具有相同的行为。应用出现了,但是js不行。

我错过了什么?如何在 Electron 中正确运行 Rails 应用?

【问题讨论】:

    标签: ruby-on-rails heroku electron


    【解决方案1】:

    为了以后参考,解决这个问题的正确方法是将BrowserWindow上的"node-integration"选项设置为false,如下所示:

    var app = require ('app')
    var BrowserWindow = require ('browser-window')
    app.on('ready', function(){
        var mainWindow = new BrowserWindow({
            width:1115,
            height:945,
            "node-integration": false
        })
        mainWindow.loadUrl('http://my-app-at-heroku.herokuapp.com')
    })
    

    来源:https://github.com/atom/electron/issues/254#issuecomment-82322963

    【讨论】:

      【解决方案2】:

      我找到了解决办法。

      在我的 Rails 应用程序中,我必须在标题中包含以下内容:

      <script type="text/javascript">
        window.module = undefined;
        window.require = undefined;
      </script>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-07-02
        • 2017-11-09
        • 1970-01-01
        • 1970-01-01
        • 2017-05-03
        • 2021-06-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多