フラスコブループリントは静的パスをオーバーライドできません

プロキシマセンタウリ

Flaskブループリントを使用して複数ページのWebアプリを提供しようとしています。Webアプリの構造:

ランディングページhtml->ログイン-> Vuejs SPA

フラスコ構造:

app/
    client/
        dist/
            static/
                js/
                css/
            vue_index.html
        client.py
    main/
        main.py
    static/
        index.html
    __init__.py

__init_.py

app.register_blueprint(main_bp)
app.register_blueprint(client_bp)

client.py

client_bp = Blueprint('client', __name__,
                  url_prefix='/client',
                  static_url_path='/client/static',
                  static_folder='dist/static',
                  template_folder='dist',
                  )

@client_bp.route('/')
def client():
    dist_dir = current_app.config['DIST_DIR'] #full path to dist folder
    entry = os.path.join(dist_dir, 'vue_index.html')
    return send_file(entry)

vue_index.html

<!DOCTYPE html><html>...<script src=/static/js/index.js></script></body></html>

次に、アプリを実行してhost:port / clientにリダイレクトします。vue_index.htmlは見つかりましたが、ファイルで参照されている.jsファイルが見つかりません。

ただし、js /フォルダーをapp / client / dist / staticからapp / staticに移動すると、vue_index.htmlファイルでjsコードを見つけることができます。

したがって、ブループリントがフラスコアプリの静的パスをオーバーライドしていないことは明らかです。静的パスをデバッグする方法/これを修正する方法についてのアイデアはありますか?

プロキシマセンタウリ

すべてのflask静的ファイルとテンプレートを新しいdist /フォルダーに配置し、すべてのvuejsファイルをこのフォルダーに追加することでこれを機能させました。

webapp/
    dist/
        js/ (vuejs files)
        css/ (vuejs and flask landing page .css)
        index.html (vuejs entry)
        other.html (flask misc webpage)

次に、アプリを実行します。

app = Flask(__name__,
        static_folder='./dist',
        template_folder='./dist',
        static_url_path='')

それは理想的ではありません(私はそれ自体でvuejsファイルをdistに保持し、静的フォルダーとテンプレートフォルダーを持ちたいと思っていましたが、それを機能させることができませんでした)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

コンパイルテストライブラリは、インターフェイスの静的メソッドをコンパイルしません(Java 8)

分類Dev

Moxyは、supperclassをオーバーライドするサブクラスフィールドをアンマーシャリングできません

分類Dev

コンテキスト メニューの Safari フルスクリーン モードを無効/オーバーライドできません

分類Dev

カスタムcssはブートストラップcssをオーバーライドできません

分類Dev

Kotlinプロパティをサブインターフェイスでオーバーライドすることはできません

分類Dev

ブートストラップは<p>の属性をオーバーライドできません

分類Dev

オンボードグラフィックドライバをインストールできません

分類Dev

フォルダーからパワーポイントスライドのテキストボックスから文字列を削除します-エラーActiveXコンポーネントはオブジェクトを作成できません

分類Dev

ストリームAPI収集メソッドコンパイラエラー-オブジェクトをリストにキャストできません

分類Dev

Scalaケースクラス、コンストラクターパラメーターをオーバーライドできません

分類Dev

Webサイトコントローラー、管理サーバー、フロントエンドサーバー、パブリケーションサーバー、ファイルサーバーを正常にインストールした後、ワーカーを追加できません

分類Dev

GSLライブラリをインストールしましたが、g ++でコードをコンパイルできません

分類Dev

ブートストラップツールチップまたはポップオーバー内のボタンをトリガーできません

分類Dev

コンパイルエラー:タイプリストを汎用にすることはできません

分類Dev

ライブUbuntuUSBドライブにバックアップをインストールできません

分類Dev

CordovaプラグインバーコードPhonegap(mac)をインストールできません

分類Dev

Javaでは、インターフェースのデフォルトメソッドを作成する方法をオーバーライドできませんか?

分類Dev

バンドラーはcommonmarkerをインストールできません

分類Dev

ブートストラップ4で$ theme-colorをオーバーライドできません

分類Dev

静的スクリプトファイルは、GETメソッドのサーバー側レンダリングをオーバーライドします

分類Dev

ドライバまたはGTXエクスペリエンスをインストールできません

分類Dev

AtomはUbuntuにパッケージをインストールできません(エラーコードELIFECYCLE)

分類Dev

Pythonはmysqlライブラリをインストールできません

分類Dev

ObjectiveC-シングルトン静的メソッドのオーバーライドは複数のサブクラスでは機能しません

分類Dev

F#コアライブラリのソースコードには、タプルを構造体としてコンパイルするためのフラグがありますが、機能させることができません

分類Dev

静的ファクトリーメソッドでオーバーライドされたメソッドでインスタンスを作成するときに、囲んでいるクラスのプライベートフィールドにアクセスするにはどうすればよいですか?

分類Dev

他のサーバーのpyinstallコンパイラスクリプトは実行できません

分類Dev

メソッドはスーパークラスのメソッドをオーバーライドせず、シンボルを解決できません

分類Dev

トラブルシューティングのアドバイス:-bash:バイナリファイルを実行できません:Exec形式エラー

Related 関連記事

  1. 1

    コンパイルテストライブラリは、インターフェイスの静的メソッドをコンパイルしません(Java 8)

  2. 2

    Moxyは、supperclassをオーバーライドするサブクラスフィールドをアンマーシャリングできません

  3. 3

    コンテキスト メニューの Safari フルスクリーン モードを無効/オーバーライドできません

  4. 4

    カスタムcssはブートストラップcssをオーバーライドできません

  5. 5

    Kotlinプロパティをサブインターフェイスでオーバーライドすることはできません

  6. 6

    ブートストラップは<p>の属性をオーバーライドできません

  7. 7

    オンボードグラフィックドライバをインストールできません

  8. 8

    フォルダーからパワーポイントスライドのテキストボックスから文字列を削除します-エラーActiveXコンポーネントはオブジェクトを作成できません

  9. 9

    ストリームAPI収集メソッドコンパイラエラー-オブジェクトをリストにキャストできません

  10. 10

    Scalaケースクラス、コンストラクターパラメーターをオーバーライドできません

  11. 11

    Webサイトコントローラー、管理サーバー、フロントエンドサーバー、パブリケーションサーバー、ファイルサーバーを正常にインストールした後、ワーカーを追加できません

  12. 12

    GSLライブラリをインストールしましたが、g ++でコードをコンパイルできません

  13. 13

    ブートストラップツールチップまたはポップオーバー内のボタンをトリガーできません

  14. 14

    コンパイルエラー:タイプリストを汎用にすることはできません

  15. 15

    ライブUbuntuUSBドライブにバックアップをインストールできません

  16. 16

    CordovaプラグインバーコードPhonegap(mac)をインストールできません

  17. 17

    Javaでは、インターフェースのデフォルトメソッドを作成する方法をオーバーライドできませんか?

  18. 18

    バンドラーはcommonmarkerをインストールできません

  19. 19

    ブートストラップ4で$ theme-colorをオーバーライドできません

  20. 20

    静的スクリプトファイルは、GETメソッドのサーバー側レンダリングをオーバーライドします

  21. 21

    ドライバまたはGTXエクスペリエンスをインストールできません

  22. 22

    AtomはUbuntuにパッケージをインストールできません(エラーコードELIFECYCLE)

  23. 23

    Pythonはmysqlライブラリをインストールできません

  24. 24

    ObjectiveC-シングルトン静的メソッドのオーバーライドは複数のサブクラスでは機能しません

  25. 25

    F#コアライブラリのソースコードには、タプルを構造体としてコンパイルするためのフラグがありますが、機能させることができません

  26. 26

    静的ファクトリーメソッドでオーバーライドされたメソッドでインスタンスを作成するときに、囲んでいるクラスのプライベートフィールドにアクセスするにはどうすればよいですか?

  27. 27

    他のサーバーのpyinstallコンパイラスクリプトは実行できません

  28. 28

    メソッドはスーパークラスのメソッドをオーバーライドせず、シンボルを解決できません

  29. 29

    トラブルシューティングのアドバイス:-bash:バイナリファイルを実行できません:Exec形式エラー

ホットタグ

アーカイブ