Bladeren bron

Implement prod/dev mode for Vue and Quasar

David Kincaid 1 jaar geleden
bovenliggende
commit
98ab32a624
4 gewijzigde bestanden met toevoegingen van 24 en 3 verwijderingen
  1. 1 0
      nicegui/client.py
  2. 13 1
      nicegui/globals.py
  3. 3 2
      nicegui/run.py
  4. 7 0
      nicegui/templates/index.html

+ 1 - 0
nicegui/client.py

@@ -89,6 +89,7 @@ class Client:
             'language': self.page.resolve_language(),
             'prefix': prefix,
             'tailwind': globals.tailwind,
+            'development': globals.development,
             'socket_io_js_extra_headers': globals.socket_io_js_extra_headers,
         }, status_code, {'Cache-Control': 'no-store', 'X-NiceGUI-Content': 'page'})
 

+ 13 - 1
nicegui/globals.py

@@ -4,7 +4,18 @@ import logging
 from contextlib import contextmanager
 from enum import Enum
 from pathlib import Path
-from typing import TYPE_CHECKING, Any, Awaitable, Callable, Dict, Iterator, List, Optional, Set, Union
+from typing import (
+    TYPE_CHECKING,
+    Any,
+    Awaitable,
+    Callable,
+    Dict,
+    Iterator,
+    List,
+    Optional,
+    Set,
+    Union,
+)
 
 from socketio import AsyncServer
 from uvicorn import Server
@@ -43,6 +54,7 @@ dark: Optional[bool]
 language: Language
 binding_refresh_interval: float
 tailwind: bool
+development: bool = True
 air: Optional['Air'] = None
 socket_io_js_extra_headers: Dict = {}
 

+ 3 - 2
nicegui/run.py

@@ -11,9 +11,8 @@ import uvicorn
 from uvicorn.main import STARTUP_FAILURE
 from uvicorn.supervisors import ChangeReload, Multiprocess
 
-from . import globals, helpers
+from . import globals, helpers, native_mode
 from . import native as native_module
-from . import native_mode
 from .air import Air
 from .language import Language
 
@@ -53,6 +52,7 @@ def run(*,
         uvicorn_reload_includes: str = '*.py',
         uvicorn_reload_excludes: str = '.*, .py[cod], .sw.*, ~*',
         tailwind: bool = True,
+        development: bool = True,
         storage_secret: Optional[str] = None,
         **kwargs: Any,
         ) -> None:
@@ -91,6 +91,7 @@ def run(*,
     globals.language = language
     globals.binding_refresh_interval = binding_refresh_interval
     globals.tailwind = tailwind
+    globals.development = development
 
     if on_air:
         globals.air = Air('' if on_air is True else on_air)

+ 7 - 0
nicegui/templates/index.html

@@ -15,8 +15,15 @@
     {% if tailwind %}
     <script src="{{ prefix | safe }}/_nicegui/{{version}}/static/tailwindcss.min.js"></script>
     {% endif %}
+
+    {% if development %}
+    <script src="{{ prefix | safe }}/_nicegui/{{version}}/static/vue.global.js"></script>
+    <script src="{{ prefix | safe }}/_nicegui/{{version}}/static/quasar.umd.js"></script>
+    {% else %}
     <script src="{{ prefix | safe }}/_nicegui/{{version}}/static/vue.global.prod.js"></script>
     <script src="{{ prefix | safe }}/_nicegui/{{version}}/static/quasar.umd.prod.js"></script>
+    {% endif %}
+
     <script src="{{ prefix | safe }}/_nicegui/{{version}}/static/lang/{{ language }}.umd.prod.js"></script>
     <script type="importmap">
       {"imports": {{ imports | safe }}}