When used on the renderer process of the Electron environment, the message "Class constructor NodeSSH cannot be invoked without 'new'" is displayed and instantiation fail.
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- electron, javascript
- Área
- desktop
Línea de trabajo
Comienza reproduciendo el fallo con main.js, preload.js e index.js usando Electron v18.1.0; después, inspecciona cómo se expone e instancia window.requires.nodessh en el proceso renderer. Se considera terminado cuando el error de instanciación de NodeSSH indicado ya no se produce en esta configuración de Electron.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Hello.
I am considering the use of NodeSSH in the Electron environment.
I made the NodeSSH module available on the renderer process using a preload mechanism in order to reflect the processing result on the screen.
// main.js
const { app, BrowserWindow } = require('electron')
const path = require("path");
let win
function createWindow() {
win = new BrowserWindow({
width: 400,
height: 400,
webPreferences: {
nodeIntegration: true,
preload: path.join(__dirname, './src/preload.js'),
contextIsolation: true,
}
});
// ...
}
app.on('ready', () => {
createWindow();
})
// preload.js
const { contextBridge, ipcRenderer} = require("electron");
contextBridge.exposeInMainWorld(
"requires", {
nodessh : require('node-ssh'),
ipcRenderer : ipcRenderer,
}
);
// index.js(In RendererProcess)
const {NodeSSH} = window.requires.nodessh;
const ssh = new NodeSSH();
// ...
In this way, electron execution itself is possible, but on the second line of the index .js, an error of "Class constructor NodeSSH cannot be invoked without 'new'" occurs and the script stops executing.
When I checked in electron's developer console, the value of "window.requires.nodessh" seems to be "{SSHError: ƒ, NodeSSH: ƒ}", and I think the loading itself is successful, but is there any missing description?
Environment
Windows 11 Pro
Version 21H2 Build: 22000.613
npm -v
8.4.1
.\node_modules.bin\electron -v
v18.1.0
- Lenguaje dominante
- TypeScript
- Estrellas
- 1k
- Forks
- 94
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de steelbrain/node-ssh
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
steelbrain/node-ssh#487 ·
-
ssh-certificate supportAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
steelbrain/node-ssh#482 · 3 comentarios ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
steelbrain/node-ssh#474 · 3 comentarios ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
steelbrain/node-ssh#473 · 1 comentario · 1 reacción ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 20/100
steelbrain/node-ssh#472 ·
Todos los issues de steelbrain/node-ssh
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
cli: `execCargoMetadata` decodes stdout per chunk, corrupting non-ASCII paths across pipe boundariesAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Dificultad 1/5 Menos de una hora Aptitud para principiantes 62/100
lingdojo/kana-dojo#34127 · 1 comentario · 5 reacciones ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 68/100
osmlab/name-suggestion-index#13104 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100