Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[documentation] documentation on how to compile dart to js for a non-web target with webdev build

Abierto
#2,432 3 comentarios 3 reacciones 1 asignado Ver en GitHub

Los mantenedores suelen responder en 3 días

@bkonyi ya está trabajando en esto.

Desde el 31/7/2024.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

P3 package:webdev triaged type-documentation

I want to compile dart to js for a non-web target (eg. fermyon/js, node)

I'm told it's possible with 2 possible approaches:

  1. webdev build --no-release suggested here
  2. dart compile js --server-mode suggested here with a 3rd party node_preamble

it would be nice to have some documentation on how to achieve this the 1. approach.

I admit that this is a skill issue rather than a dart issue
but maybe I'm not the only developer facing this and a minimal example would be great

here is a reproducible setup/example using node (repo)

node example
  • set up node dependencies
npm init -y && \
npm install express && \
npm install --save-dev typescript @types/node @types/express ts-node-dev
  • create the file tsconfig.json with the code below
{
    "compilerOptions": {
      "allowJs": true,
      "target": "ES6",
      "module": "commonjs",
      "strict": true,
      "esModuleInterop": true,
      "skipLibCheck": true,
      "outDir": "./dist",
      "rootDir": "./src"
    },
    "include": ["src"]
  }  
  • create the file `src/greeting.js with the following code
export function greeting() {
    return "Hello from JS"
}
  • create the file src/index.ts with the code below
import express, { Request, Response } from 'express';
import { greeting } from './greeting.js';

const app = express();
const port = 3000;

app.get('/', (req: Request, res: Response) => {
  res.send(greeting());
});

app.listen(port, () => {
  console.log(`Server is running on http://localhost:${port}`);
});

how can I create an equivalent

String greeting() => 'Hello from Dart';

import it and use it in index.ts?

notes

cc
@maks & @sigmundch from https://github.com/dart-lang/sdk/issues/53884
@nex3 I've been told on Twitter that you have experience with this use case from sass

Lenguaje dominante
Dart
Estrellas
224
Forks
95
Merge medio
3 d 17 h
PR fusionados (30 d)
6

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de dart-lang/webdev

Todos los issues de dart-lang/webdev

Issues similares

Más issues de Dart

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.