Pakete, Repositories und App-Kategorien suchen

Paketdetailsv2.0.2+12

local_assets_server

HTTP-Server, der lokale Assets bereitstellt

AndroidiOSmacOSWindowsLinux
30-Tage-Downloads
8
Likes
36
Pub-Punkte
125

Paket installieren

flutter pub add local_assets_server

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Ein leichtgewichtiger HTTP-Server zum Bereitstellen lokaler Ressourcen in Flutter-Anwendungen. Er ermöglicht Entwicklern, Dateien aus dem lokalen Speicher des Geräts über HTTP bereitzustellen, was nützlich für Tests oder die Einbettung statischer Inhalte wie HTML, CSS und JavaScript in Apps ist. Ideal für Szenarien, in denen ein lokaler Webserver benötigt wird, ohne externe Abhängigkeiten. Der Server läuft auf verschiedenen Plattformen wie Android, iOS, macOS, Windows und Linux.

Anwendungsfälle

  • Lokalen Web-Inhalt testen
  • Statische Dateien in Apps einbetten
  • Entwicklung von Offline-Webfunktionen
  • Benutzerdefinierte HTML-Seiten bereitstellen
  • Debugging der Assetlieferung

Hauptmerkmale

  • Stellt lokale Dateien über HTTP bereit
  • Plattformübergreifende Unterstützung
  • Einfache Einrichtung mit minimaler Konfiguration
  • Läuft auf mehreren Betriebssystemen
  • Unterstützt dynamisches Datei-Anbieten

Geeignet für

  • Flutter-Entwickler, die lokale HTTP-Dienste benötigen
  • Testen von Web-Ressourcen während der Entwicklung
  • Hybrid-App-Komponenten erstellen
  • Eingebettete Web-Oberflächen erstellen
  • Prototyping von offline-fähigen Apps

Hinweise

  • Nicht für den Produktiveinsatz vorgesehen
  • Benötigt manuelle Serververwaltung
  • Eingeschränkte Sicherheitsfunktionen
  • Die Leistung hängt von den Geräteressourcen ab
  • Dateipfade müssen korrekt angegeben werden

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

local_assets_server

lesnitsky.dev GitHub stars Twitter Follow

HTTP Server which serves local assets

Installation

pubspec.yaml:

dependencies:
  local_assets_server: ^2.0.2+10

Example

import 'dart:io';

import 'package:flutter/material.dart';
import 'package:local_assets_server/local_assets_server.dart';
import 'package:webview_flutter/webview_flutter.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Local Assets Server Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Local Assets Server Demo'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  final String title;

  MyHomePage({Key? key, required this.title}) : super(key: key);

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  bool isListening = false;
  String? address;
  int? port;
  WebViewController? controller;

  void _incrementCounter() {
    controller?.evaluateJavascript('window.increment()');
  }

  @override
  initState() {
    _initServer();
    super.initState();
  }

  _initServer() async {
    final server = new LocalAssetsServer(
      address: InternetAddress.loopbackIPv4,
      assetsBasePath: 'web',
      logger: DebugLogger(),
    );

    final address = await server.serve();

    setState(() {
      this.address = address.address;
      port = server.boundPort!;
      isListening = true;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: isListening
          ? WebView(
              debuggingEnabled: true,
              initialUrl: 'http://$address:$port',
              javascriptMode: JavascriptMode.unrestricted,
              onWebViewCreated: (c) {
                controller = c;
              },
            )
          : Center(child: CircularProgressIndicator()),
      floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: Icon(Icons.add),
      ), // This trailing comma makes auto-formatting nicer for build methods.
    );
  }
}

License

MIT

Kategorien

Abhängigkeiten

Abhängigkeiten 2 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.