Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

128
Views
Cómo importar funciones desde mi proyecto a script.JS

Las cosas funcionan bien cuando hago un proyecto independiente con dos archivos, uno llamado helperFuncs.js y el otro llamado index.js, donde helperfuncs.js tiene

 function stringOfZeros(numZeros) { //takes in a number and outputs a string with that many zeros; ... } module.exports = { stringOfZeros: stringOfZeros, }

e index.js tiene

 const helperFuncs = require("./helperFuncs.js"); const stringOfZeros=helperFuncs.stringOfZeros; let myZeroString = stringOfZeros(17); console.log(myZeroString);

Esto funciona incluso sin un archivo package.json en el proyecto.

Sin embargo, si hago lo mismo donde creo un archivo helperFuncs.js idéntico en un pequeño proyecto HTML que tiene una página index.html y un archivo script.js en el mismo nivel en el directorio, y configuro las líneas anteriores de código del archivo index.js en el archivo script.js donde las líneas se ejecutan dentro de un detector de carga de eventos de ventana que de otra manera funciona, aparece este error:

TypeError: stringOfZeros no es una función

¿Qué estoy haciendo mal? ¿El hecho de que esté dentro de un archivo de secuencia de comandos de alguna manera requiere que use "importar" en lugar de requerir, o hace que sea obligatorio crear un archivo package.json donde, de lo contrario, sería opcional?

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Parece que está intentando ejecutar un código compatible con Node JS en un navegador.

Actualmente, los navegadores no admiten este tipo de sintaxis de importación/exportación. Para usar el código anterior para aplicaciones web, necesita herramientas especiales adicionales que reconstruirán su código de manera que el navegador lo entienda.

Te recomiendo que pruebes estas herramientas:

  • paquete web
  • Babel (requiere configuración de complementos adicionales)
  • Vite.js (gracias a Invizi por la sugerencia)
about 4 years ago · Juan Pablo Isaza Report

0

Los navegadores web no admiten módulos CommonJS ni cjs. En cambio, lo que está buscando son módulos ES o esm.

Es común que los módulos en los sitios web de producción se empaqueten en un solo archivo javascript con un paquete. Esto le permite usar cualquier tipo de módulo que desee y puede aplicar transformaciones a su código, como minimizarlo o agregar soporte para navegadores más antiguos.

Si desea escribir su código y ejecutarlo directamente sin un paquete. Debe utilizar módulos ES. Puedes encontrar mucha información en esta página . Pero en tu caso sería algo como esto:

helperfuncs.js

 export function stringOfZeros(numZeros) { }

índice.js

 import {stringOfZeros} from "./helperFuncs.js"; let myZeroString = stringOfZeros(17); console.log(myZeroString);

Luego puede cargar su index.js en su html con la etiqueta de type configurada en module de esta manera:

 <script src="index.js" type="module"></script>
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!