首页 > 解决方案 > 如何让 Django 看到 Vue.js 编译生成的 dist/static 下的文件?

问题描述

我想知道在以下情况下如何为 Django 指定静态目录。

目录树

root
├── vue_proj
│      └── dist
│           ├── index.html <- SPA, and no Django template in this.
│           └── static <- I wouldd like to let Django see this dir!
│                 └── js
│                      └── bundle.js
└── django_proj <- I executed "django-admin startproject project" here.
       └── project <- I executed "django-admin startapp app" here.
             ├── manage.py
             ├── app 
             └── project
                   ├── settings.py <- What should I do here?

到目前为止,我可以dist/index.html通过将 TEMPLATES 参数设置为../vue_proj/dist.
我尝试了以下但导致加载js文件失败......

STATIC_ROOT = '../vue-proj/dist'
STATIC_URL = '/static/'

标签: pythondjangovue.jswebpack

解决方案


尝试这个

STATICFILES_DIRS = [

    BASE_DIR.parent / "vue-proj/dist/static'",
]

静态根用于生产,它将从静态文件夹收集所有 css 和 js 到静态根目录。

STATIC_ROOT = BASE_DIR.parent / "static_cdn"

推荐阅读