Node.js 我如何使用Electron,NW.js来;服侍;可在本地网络上访问的React应用程序

Node.js 我如何使用Electron,NW.js来;服侍;可在本地网络上访问的React应用程序,node.js,reactjs,electron,desktop-application,Node.js,Reactjs,Electron,Desktop Application,我想用Electron创建一个离线的“桌面应用程序/网站”。UI/后端本质上是一个“React应用程序” 我正在努力实现的目标: 有一个React应用程序,我运行该应用程序将启动一个服务器,该服务器可以通过我的系统(和本地网络内的浏览器访问 创建一个可下载的跨平台“单文件”(dmg中的.app用于Mac,.exe用于Windows),用户可以下载并在其系统上运行(以实现上述目标);为此,我认为电子可以 上述文件应在不要求用户在本地安装依赖项(例如节点)的情况下工作 我所做的 创建react应

我想用Electron创建一个离线的“桌面应用程序/网站”。UI/后端本质上是一个“React应用程序”

我正在努力实现的目标:

  • 有一个React应用程序,我运行该应用程序将启动一个服务器,该服务器可以通过我的系统(和本地网络内的浏览器访问
  • 创建一个可下载的跨平台“单文件”(dmg中的.app用于Mac,.exe用于Windows),用户可以下载并在其系统上运行(以实现上述目标);为此,我认为电子可以
  • 上述文件应在不要求用户在本地安装依赖项(例如节点)的情况下工作
我所做的

创建react应用程序并安装electron后,我将electronjs条目文件编辑为以下文件:

win.loadURL(url.format({
    pathname: 'localhost:3000', //path.join(__dirname, 'index.html'),
    protocol: 'http:', //'file:',
    slashes: true
}))
然后,我使用了“并发”和“等待”模块来确保当我运行
npm start
时,react服务器在electron启动之前首先启动。它(为发展)工作

但是当我打包应用程序(用于生产,生成一个Mac可执行文件-MyProject.app)并运行它时,服务器永远不会启动,因此electron为
localhost:3000显示一个空白页面

我如何做到这一点

试试这个-

win.loadURL("http://localhost:3000");

谢谢你的回复,阿杰。问题不在于URL。我遇到的问题是React应用程序本身并没有在生产中启动。所以,在“”上确实没有运行任何东西。您正在尝试从electron启动服务器吗?怎样?