Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何使开发工具在默认情况下不显示在屏幕上:electron_Reactjs_Electron - Fatal编程技术网

Reactjs 如何使开发工具在默认情况下不显示在屏幕上:electron

Reactjs 如何使开发工具在默认情况下不显示在屏幕上:electron,reactjs,electron,Reactjs,Electron,我正在使用样板创建一个electron react应用程序。默认情况下,开发工具会显示在屏幕上。如何使开发工具只在我请求时出现,而不在发布时出现 此外,控制台中没有显示错误,因此开发工具不会显示,因为出现了错误 只需在此处添加这两行粗体代码即可。打包后将不会看到devTool const electron = require('electron') // Module to control application life. const app = electron.app // Module

我正在使用样板创建一个electron react应用程序。默认情况下,开发工具会显示在屏幕上。如何使开发工具只在我请求时出现,而不在发布时出现

此外,控制台中没有显示错误,因此开发工具不会显示,因为出现了错误


只需在此处添加这两行粗体代码即可。打包后将不会看到devTool

const electron = require('electron')
// Module to control application life.
const app = electron.app
// Module to create native browser window.
const BrowserWindow = electron.BrowserWindow
var debug=false

// Keep a global reference of the window object, if you don't, the window will
// be closed automatically when the JavaScript object is garbage collected.
let mainWindow

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

  // and load the index.html of the app.
  mainWindow.loadURL(`file://${__dirname}/index.html`)
//打开DevTools

如果(调试)主窗口.webContents.openDevTools()


只需在main.js文件中注释或删除这行代码(将devTools设置为false)
this.mainWindow.openDevTools()
(或)
将以下代码添加到

 mainWindow = new BrowserWindow({ 
 width: 1024,
 height: 768,
 webPreferences: {
  devTools: false
  }
})); (或) 将package.json build更改为
npm运行build&&build--win--x64
(或)
再次安装npm

如果我们在
webPreferences
中添加
devTools:false
,则在启动Electron应用程序时devTools将不会显示。但是,按Ctrl+Shift+I仍然可以打开它

看看Slack。它是用Electron制作的,当您按Ctrl+Shift+I时,DevTools不会打开

我查看了Electron的官方文档,发现了一个解决方案,当您按Ctrl+Shift+I时,它不允许打开DevTool

const{app,globalShortcut}=require('electron');
app.on('ready',()=>{
//为Ctrl+Shift+I注册快捷方式侦听器
全局短切寄存器('Control+Shift+I',()=>{
//当用户按下Ctrl+Shift+I时,将调用此函数
//您可以修改此函数以执行其他操作,但如果您愿意的话
//要禁用快捷方式,只需返回false即可
返回false;
});
});
但是,这将阻止所有其他浏览器的Ctrl+Shift+I
所以,只要你的电子应用程序有重点,你就可以编写上面的代码。并且,当应用程序模糊时将其删除。这样,您就可以为这个问题找到合适的解决方案。

当应用程序启动时,开发人员工具出现的原因是中的行
require('electron-debug')()
。此函数的默认值为
true
,因此您应将其更改为:

require('electron-debug')({ showDevTools: false });
您仍然可以使用快捷键CTRL+ALT+I或按F12显示开发人员工具,如果要完全禁用,请在
新浏览器窗口上将
webPreferences.devTools
设置为
false

mainWindow = new BrowserWindow({
  // ... other settings
  webPreferences: {
    // ...
    devTools: false,
  },
});

如果设置
this.mainWindow.openDevTools(),它仍然可以在
查看/切换开发人员工具
中打开。但是如果在
webPreferences
中设置
devTools:false
,则
切换开发人员工具将被禁用。
require('electron-debug')({ showDevTools: false });
mainWindow = new BrowserWindow({
  // ... other settings
  webPreferences: {
    // ...
    devTools: false,
  },
});