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

296
Views
¿Es posible convertir solo una función de dardo a javascript?

Actualmente estoy usando el siguiente paquete donde el archivo Léame ilustra lo siguiente

 final bool loaded = await JsIsolatedWorker().importScripts(['test.js']);

Estoy usando el paquete de trabajo aislado para que mi código pueda funcionar en la web y fuera de la web. Me gustaría generar código javascript a partir de mi código dart. Tengo un archivo con una función de nivel superior y uso

 dart compile js -O0 -o test.js test.dart

que encontré aquí

https://dart.dev/tools/dart2js

este es mi archivo de dardos

 void main(List<String> args) { doComputation(''); } String doComputation(String input) { return 'output'; }

Puedo generar javascript solo si tengo una función principal, pero esto genera un archivo de javascript donde doComutation no es una función de nivel superior, por lo que no estoy seguro de si el paquete puede llamar a la función. Parece que genera un programa completo en lugar de solo generar una función.

El archivo generado es demasiado largo para publicar

Así que mi pregunta se reduce a esto. ¿Hay alguna manera de generar javascript desde dart para 1 función con sus dependencias incluidas en lugar de tener que generar todo el programa? Para que pueda llamar a esta función desde dart.

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

0

Puede usar el paquete js para llamar a las API de JavaScript desde el código Dart, o viceversa. Para hacer que una función de Dart se pueda llamar desde JavaScript por nombre, use un setter anotado con @JS() .

 @JS() library callable_function; import 'package:js/js.dart'; /// Allows assigning a function to be callable from `window.functionName()` @JS('functionName') external set _functionName(void Function() f); /// Allows calling the assigned function from Dart as well. @JS() external void functionName(); void _someDartFunction() { print('Hello from Dart!'); } void main() { _functionName = allowInterop(_someDartFunction); }

El código JavaScript ahora puede llamar a functionName() o window.functionName() .

Consulte google chartjs https://github.com/google/chartjs.dart/tree/master/example para ver un ejemplo completo.

De dart2js "Ayudando a dart2js a generar un mejor código" hay un consejo:

No se preocupe por el tamaño de las bibliotecas incluidas de su aplicación. El compilador dart2js realiza la sacudida del árbol para omitir clases, funciones, métodos, etc. Simplemente importe las bibliotecas que necesita y deje que dart2js se deshaga de lo que no necesita.

Relacionado con esta publicación https://stackoverflow.com/a/21124252/3733730 .

about 4 years ago · Juan Pablo Isaza Report

0

Puede hacer esto en su lugar usando el paquete dart2js

uno crea un programa para tu main.dart dart2js donde está la función o el comando que querías hacer, luego crea un archivo dart separado a la función que querías llamar, y solucionará tu problema, es un archivo separado pero solo ejecute una función que necesitaba para hacerlo y ese es el archivo separado

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!