Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev2.0.2+12

local_assets_server

Servidor HTTP que serve ativos locais

AndroidiOSmacOSWindowsLinux
Downloads em 30 dias
8
Curtidas
36
Pontos Pub
125

Instalar pacote

flutter pub add local_assets_server

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

Um servidor HTTP leve para servir ativos locais em aplicativos Flutter. Permite que desenvolvedores forneçam arquivos do armazenamento local do dispositivo por meio de HTTP, útil para testes ou incorporar conteúdo estático como HTML, CSS e JavaScript nos aplicativos. Ideal para cenários em que um servidor web local é necessário sem dependências externas. O servidor funciona em várias plataformas, incluindo Android, iOS, macOS, Windows e Linux.

Casos de uso

  • Testando conteúdo da web local
  • Incorporar arquivos estáticos em aplicativos
  • Desenvolvendo recursos web offline
  • Servindo páginas HTML personalizadas
  • Depuração de entrega de ativos

Principais recursos

  • Fornece arquivos locais por HTTP
  • Suporte multiplataforma
  • Configuração simples com mínima configuração
  • Funciona em múltiplos sistemas operacionais
  • Suporte a fornecimento dinâmico de arquivos

Indicado para

  • Desenvolvedores Flutter que precisam de serviços HTTP locais
  • Testando ativos da web durante o desenvolvimento
  • Construindo componentes de aplicativo híbrido
  • Criando interfaces web embutidas
  • Prototipagem de aplicativos com capacidade offline

Considerações

  • Não destinado ao uso em produção
  • Requer gerenciamento manual do servidor
  • Recursos de segurança limitados
  • O desempenho depende dos recursos do dispositivo
  • Os caminhos de arquivo devem ser especificados corretamente

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

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

Categorias

Dependências

Lista de dependências 2 itens

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.