Dart - 처음부터 배포까지 🚀
엠페세모스 ✨
Creemos el proyecto desde 0.
Si tienes configurado Flutter, dart ya debería estar en tu PATH también.
$ dart create server
Obtendrás algo como esto:
void main(List<String> arguments) {
print('Hello world!');
}
Para este proyecto usaremos el poderoso server de Shelf .
$ dart pub add shelf
Agreguemos algo de código:
import 'package:shelf/shelf.dart';
import 'package:shelf/shelf_io.dart' as shelf_io;
void main() async {
var server = await shelf_io.serve(
(Request request) => Response.ok('Hello World!'), '0.0.0.0', 8080);
print('Serving at http://${server.address.host}:${server.port}');
}
엔트라모스 alocalhost:8080 :

프레페모스 도커
Esto no es un tutorial de docker así que no me detendré a explicarlo, eso daría para una serie de publicaciones 🤷♂️
도커파일
FROM dart:stable AS build
WORKDIR /app
COPY pubspec.* ./
RUN dart pub get
COPY . .
RUN dart pub get --offline
RUN dart compile exe bin/server.dart -o bin/server
FROM scratch
COPY --from=build /runtime/ /
COPY --from=build /app/bin/server /app/bin/
CMD ["/app/bin/server"]
.dockerignore
.dockerignore
resources
CHANGELOG.md
LICENSE
README.md
Dockerfile
build/
.dart_tool/
.git/
.github/
.gitignore
.packages
docker-compose.yml
version: '3'
services:
dart-server:
build: .
ports:
- "8080:8080"
바모스 아 프로발로 🐛
$ docker compose up
Probamos de nuevo localhost:8080 y todo 정상.
준비 과정 👩🚀👨🚀
Para esto usaremos Github Y Railway (Por qué son excelentes herramientas y son gratis).
Railway nos dará un puerto para nuestra aplicación así que hay que hacer ese cambio.
import 'dart:io';
import 'package:shelf/shelf.dart';
import 'package:shelf/shelf_io.dart' as shelf_io;
void main() async {
var port = int.tryParse(Platform.environment['PORT'] ?? '') ?? 8080;
var server = await shelf_io.serve(
(Request request) => Response.ok('Hello World!'), '0.0.0.0', port);
print('Serving at http://${server.address.host}:${server.port}');
}



Y listo 🚀🚀
Estamos online .
Te gusto la practica? 의도적으로 언어를 사용합니까?
Happy Hacking 🧑💻🎉에 대한 댓글 보기
Reference
이 문제에 관하여(Dart - 처음부터 배포까지 🚀), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ushieru/dart-from-scratch-to-deploy-2o4l텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)