Vue.jsとDjango REST Frameworkで画面が真っ白になる原因〜2〜


press
Vue.jsとDjango REST Frameworkで画面が真っ白になる原因〜2〜

Vue.jsとDjango REST Frameworkで画面が真っ白になる原因〜2〜

Django REST Frameworkと組み合わせたVue.jsで、ビルド後にバックエンドの開発サーバー(8000ポートなど)では表示されるのに、フロントエンドの開発サーバー(8080ポートなど)でページを開くと今まで表示されていたのに画面が真っ白になることがありました。このエラーの原因が判明するまでしばらく時間がかかりましたが、原因はビルドした際に出力するディレクトリとパスの関係でした。最終的にdist/staticという構造になるように設定することで表示が確認できました。

vue.config.js

const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
  publicPath: "/",
  outputDir: "../dist",
  assetsDir: "static",
  indexPath: "../templates/index.html",
  transpileDependencies: true,
  devServer: {
    host: "localhost",
    hot: "only",
    proxy: {
      "^/api": {
        target: "http://localhost:8080",
        changeOrigin: true,
      },
    },
  },
})

以下のようにビルド後のディレクトリ構造がdist/staticになるように設定することで表示が確認できました。

  outputDir: "../dist",
  assetsDir: "static",

株式会社ファントムへのお問い合わせ

群馬県でPythonを使ったAIやソフトウェアを開発している株式会社ファントムが運営しています。




    Related Articles

    Django

    That port is already in use.が表示された時の対処法

    Djangoでrunserverコマンドを使って開発用サーバーを起動した時にError: That port is already in use.が表示された時の対処法です。 Error: That port is al […]

    Posted on by press
    Django

    pipenv shellをしてもactivateできない

    pipenv shellをしてもactivateできない pipenvで作った仮想環境に出たり入ったりを繰り返していると、pipenv shellをしても以下のようにShell for UNKNOWN_VIRTUAL_E […]

    Posted on by press