首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以JS文件作为参数启动Electron

以JS文件作为参数启动Electron
EN

Stack Overflow用户
提问于 2019-05-28 22:19:20
回答 1查看 54关注 0票数 0

当我安装electron quick start并运行

代码语言:javascript
复制
node_modules/.bin/electron --help

它告诉我:

代码语言:javascript
复制
A path to an Electron app may be specified. It must be one of the following:
  - index.js file.
  - Folder containing a package.json file.
  - Folder containing an index.js file.
  - .html/.htm file.
  - http://, https://, or file:// URL.

正在运行

代码语言:javascript
复制
node_modules/.bin/electron .

(例如,选项“包含package.json文件的文件夹”)工作正常。package.json指向main.js,如下所示:

代码语言:javascript
复制
{
  "name": "electron-quick-start",
  "version": "1.0.0",
  "description": "A minimal Electron application",
  "main": "main.js",
  "scripts": {
    "start": "electron ."
  },
  "repository": "https://github.com/electron/electron-quick-start",
  "keywords": [
    "Electron",
    "quick",
    "start",
    "tutorial",
    "demo"
  ],
  "author": "GitHub",
  "license": "CC0-1.0",
  "devDependencies": {
    "electron": "^4.1.4"
  }
}

我假设运行这段代码:

代码语言:javascript
复制
node_modules/.bin/electron main.js

应该也能工作,但它没有-它只是显示电子“虚拟”屏幕。

如何在命令行上指定要运行的JavaScript?

EN

回答 1

Stack Overflow用户

发布于 2019-05-29 04:45:29

事实证明,JavaScript执行得很好-问题是如何解析主HTML文件的路径。解决方案:替换:

代码语言:javascript
复制
mainWindow.loadFile('index.html')

通过以下方式:

代码语言:javascript
复制
const arg = process.argv[1]  // better command line parsing might be needed
const dir = fs.lstatSync(arg).isDirectory() ? arg : path.resolve(arg, '..')
mainWindow.loadFile(path.resolve(dir, 'index.html'))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56344299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档