Node.js 如何使用参数运行electron应用程序?
我的应用程序是electron,带有Node.js 如何使用参数运行electron应用程序?,node.js,npm,electron,Node.js,Npm,Electron,我的应用程序是electron,带有浏览器窗口加载本地页面索引.html。 我调用npm run start脚本运行electron main.js,应用程序打开并加载html。 我是否可以向脚本添加一个参数,将不同的html文件加载到浏览器窗口 在main.js文件中,代码是: 函数createWindow(){ //创建浏览器窗口。 主窗口=新浏览器窗口({ 网络首选项:{ 网站安全性:false }, 全屏:false});/,始终为top:true,kiosk:true}) 主窗口.设置
浏览器窗口
加载本地页面索引.html。我调用
npm run start
脚本运行electron main.js
,应用程序打开并加载html。我是否可以向脚本添加一个参数,将不同的html文件加载到
浏览器窗口
在main.js文件中,代码是:
函数createWindow(){
//创建浏览器窗口。
主窗口=新浏览器窗口({
网络首选项:{
网站安全性:false
},
全屏:false});/,始终为top:true,kiosk:true})
主窗口.设置菜单(空);
//并加载应用程序的index.html。
让url=`file://${uuuu dirname}/index.html`.\ \index.html应该由开始时传递的参数确定。
loadURL(url,loadOptions);
//打开DevTools。
main window.webContents.openDevTools();
//当窗口关闭时发出。
mainWindow.on('closed',函数(){
//取消对窗口对象的引用,通常会存储窗口
//在阵列中,如果您的应用程序支持多个窗口,则此时
//何时应该删除相应的元素。
主窗口=空;
});
}
传递参数的方式将是相同的,唯一需要注意的是电子的路径。在package.json
中,其编写的npm
start将执行electron main.js
。因此,您必须显式执行此命令,并使用“正确的电子路径”传递参数,即/node\u modules/.bin/electron
。然后命令将被删除
./node_modules/.bin/electron main.js argv1 argv2
您可以通过main.js中的process.argv
访问这些参数
如果您希望在应用程序中访问这些参数,则需要执行以下操作:
1.在main.js中定义一个变量,如
global.sharedObject = {prop1: process.argv}
2.在您的应用程序中,只需包含remote并使用此sharedObject
var remote = require('electron').remote,
arguments = remote.getGlobal('sharedObject').prop1;
console.log(arguments);
3.输出将是[“argv1”、“argv2”]
来源:卸载DisplayName
这使您可以在中为程序的条目指定自定义名称
添加/删除程序控制面板小程序。该值可能包括
常数。如果未指定此指令或该指令为空,则安装程序将
使用[Setup]节指令AppVerName的值作为名称
阅读更多信息:
要将命令行参数传递给electron app,请执行以下操作:
./node_modules/.bin/electron main.js --arg1=value --arg2=value
可以在main.js中这样检索它:
import { app } from "electron";
app.commandLine.getSwitchValue("arg1");
app.commandLine.getSwitchValue("arg2");
process.argv
是否未填充?是的,但我如何传递my的参数,如-html=index2.htmlf对于一些对此感到困扰的人,请不要忘记在控制台中设置:>set ELECTRON\u ENABLE\u LOGGING=true
import { app } from "electron";
app.commandLine.getSwitchValue("arg1");
app.commandLine.getSwitchValue("arg2");