पैकेज, रिपॉज़िटरी और ऐप श्रेणियाँ खोजें

पैकेज विवरणv2.0.2+12

local_assets_server

स्थानीय संपत्तियों को प्रदान करने वाला HTTP सर्वर

AndroidiOSmacOSWindowsLinux
30-दिन डाउनलोड
8
लाइक
36
Pub अंक
125

पैकेज इंस्टॉल करें

flutter pub add local_assets_server

पैकेज अवलोकन

सार्वजनिक जानकारी से बना चयन मार्गदर्शन। केवल संदर्भ हेतु।

फ्लटर एप्लिकेशन में स्थानीय संसाधनों को सेव करने के लिए हल्का HTTP सर्वर। यह डेवलपर्स को डिवाइस के स्थानीय स्टोरेज से फ़ाइलें HTTP के ज़रिए सेव करने की अनुमति देता है, जो परीक्षण या ऐप में HTML, CSS और JavaScript जैसी स्थिर सामग्री एम्बेड करने के लिए उपयोगी है। बाहरी निर्भरता के बिना स्थानीय वेब सर्वर की आवश्यकता होने वाले परिदृश्यों के लिए आदर्श। सर्वर एंड्रॉइड, आईओएस, मैकओएस, विंडोज और लिनक्स जैसे विभिन्न प्लेटफॉर्मों पर चलता है।

उपयोग

  • स्थानीय वेब सामग्री का परीक्षण करें
  • एप्स में स्थिर फ़ाइलों को एम्बेड करना
  • ऑफलाइन वेब-आधारित फीचर्स का विकास
  • कस्टम HTML पेज प्रदान करना
  • प्रतिमान डिलीवरी डिबगिंग

मुख्य विशेषताएँ

  • HTTP के ज़रिए स्थानीय फ़ाइलें प्रदान करता है
  • प्लेटफॉर्म के अनुकूल समर्थन
  • न्यूनतम कॉन्फ़िगरेशन के साथ सरल सेटअप
  • कई ऑपरेटिंग सिस्टम पर चलता है
  • डायनामिक फ़ाइल सेविंग समर्थित

इनके लिए उपयुक्त

  • स्थानीय HTTP सेवाओं की आवश्यकता वाले Flutter विकासकर्ता
  • विकास के दौरान वेब संपत्तियों का परीक्षण
  • हाइब्रिड ऐप घटक बनाना
  • एम्बेडेड वेब इंटरफेस बनाना
  • ऑफलाइन क्षमता वाले एप्लिकेशन के प्रोटोटाइपिंग

विचार योग्य बातें

  • उत्पादन उपयोग के लिए नहीं बनाया गया है
  • हाथ से सर्वर प्रबंधन की आवश्यकता है
  • सीमित सुरक्षा विशेषताएं
  • प्रदर्शन उपकरण संसाधनों पर निर्भर करता है
  • फ़ाइल पथ को सही तरीके से निर्दिष्ट करना होगा

मूल README

संबंधित सोर्स रिपॉज़िटरी के मूल README का स्नैपशॉट। नवीनतम सामग्री के लिए रिपॉज़िटरी देखें।

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

श्रेणियाँ

निर्भरताएँ

निर्भरता सूची 2 आइटम

सोर्स रिपॉज़िटरी

इस पैकेज का उपयोग करने वाले प्रोजेक्ट

अभी कोई डेटा उपलब्ध नहीं है।