Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

601
Visualizações
Node.js: ¿Cómo importar/requerir un archivo, ejecutar sus comandos y acceder a sus variables actualizadas como en Python?

En python, solo puede tener file1.py con una clase llamada "class1" como esta:

 class class1: def __init_(self, var1, var2): self.var3 = var1 self.var4 = var2 self.callFunction(self.var3, self.var4) def callFunction(self, classVar1, classVar2): print(classVar1) print(classVar2) def anotherFunction(self, otherVar1, otherVar2): daString = otherVar1 + otherVar2 return daString if __name__ == '__main__': class1('passing var1', 'passing var2')

Y podemos importarlo en file2.py con:

 from folder import file1 from folder.file1 import *

Y luego podemos llamar a la clase file1.py en file2.py y acceder literalmente a todo lo que contiene, incluidas las variables propias actualizadas como esta:

 newThing = file1.class1('updated self var1', 'updated self var2') # lets print our updated self vars from file1.py class print(newThing.var3) # "updated self var1" print(newThing.var4) # "updated self var2" # lets call a function from file1.py's class and print result result = newThing.anotherFunction('test', '123') print(result) # test123

Bastante simple. Ahora mi pregunta es: ¿cómo se puede hacer exactamente esto en node.js? Mi primer intento fallido fue este:

Archivo1.js:

 class Class1 { constructor(var1, var2) { this.cVar1 = var1; this.cVar2 = var2; this.extraThing = 'extra text'; someFunction(this.cVar1, this.cVar2); // wont work, it doesnt recognize someFunction() } someFunction(passArg1, passArg2) { console.log(passArg1 + passArg2 + this.extraThing); // this.extraThing seems to be undefined, same with just extraThing } } module.exports = new Class1();

Cargando File1.js en File2.js:

 const importClass = require('File1.js'); module.exports = async function(var1, var2) { let classThing = new importClass(var1, var2); // will load, but unable to call a fnction inside of it let var3 = 'something'; let var4 = 'else'; classThing.someFunction(var3, var4); // wont work, cant access someFunction (its undefined) }

Y mi segundo intento fallido fue abandonar la idea de Clase y simplemente hacer exports.Class1 = function (); en File1.js, que probablemente sería aún peor para lo que estoy tratando de hacer.

Soy nuevo en node.js, por lo que existe una gran posibilidad de que esté haciendo algo completamente estúpido y soy consciente de ello... pero he estado buscando en Internet durante mucho tiempo y parece que no puedo para encontrar lo que busco. ¿Es lo que estoy buscando (el equivalente a cómo se hace en python) incluso posible en node.js?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Para reescribir el código python que proporcionó a NodeJS, lo haría así:

folder/file1.js

 class Class1 { constructor(arg1, arg2) { this.var3 = arg1; this.var4 = arg2; this.callFunction() } callFunction() { console.log(this.var3) console.log(this.var4) } anotherFunction(otherArg1, otherArg2) { const daString = otherArg1 + otherArg2; return daString } } if (require.main === module) new Class1("passing var1", "passing var2") module.exports = Class1;

file2.js

 const file1_Class1 = require("./folder/file1.js"); const newThing = new file1_Class1("updated self var1", "updated self var2") console.log(newThing.var3); console.log(newThing.var4); const result = newThing.anotherFunction("test", "123"); console.log(result);

lo que dará exactamente el mismo resultado de registro que en Python:

1- ejecutando: $ node file2.js

 updated self var1 updated self var2 updated self var1 updated self var2 test123

2- ejecutando directamente: $ node folder/file1.js (como "principal" )

 updated self var1 updated self var2

Los valores actualizados de las propiedades de la clase se usan dentro de la Clase misma usando this . Es decir: this.var3 , this.callFunction() etc, tal como lo haría en Python usando self .

Desde una clase importada ( predeterminada ), crea una instancia usando la new palabra clave, y luego usa las variables y los métodos de función usando su nombre de instancia newThing.var3 , newThing.callFunction() , etc.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda