Загрузчик Django webpack уважает настройку STATICFILES_STORAGE

У меня есть проект Django, который использует загрузчик webpack для работы с vue со следующими настройками

DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3StaticStorage'

Так, например, если мы имеем <script src="{% static "js/main.js" %}"></script>, Django преобразует его, скажем, в https://my_service_url.com/static/js/main.js

Это прекрасно.

Но проблемы начинаются с пакетами, сгенерированными загрузчиком webpack, для которого у меня следующие настройки

WEBPACK_LOADER = {
  'DEFAULT': {
    'CACHE': False,
    'BUNDLE_DIR_NAME': '/bundles/',  # must end with slash
    'STATS_FILE': os.path.join(FRONTEND_DIR, 'webpack-stats.json'),
    'POLL_INTERVAL': 0.1,
    'IGNORE': [r'.+\.hot-update.js', r'.+\.map'],
  }
}

И в моем файле vue.config.js

const BundleTracker = require("webpack-bundle-tracker");

const pages = {
    ...
}

    module.exports = {
        publicPath: '/static/',
        outputDir: './dist/',
        chainWebpack: config => {
            config.optimization
                .splitChunks(false)
            config
                .plugin('BundleTracker')
                .use(BundleTracker, [{filename: '../frontend/webpack-stats.json'}])
            config.resolve.alias
                .set('__STATIC__', 'static')
            config.devServer
                .public('/static/')
                .host('0.0.0.0')
                .port(8080)
                .hotOnly(true)
                .watchOptions({poll: 1000})
                .https(false)
                .headers({"Access-Control-Allow-Origin": ["\*"]})
        },
        pages: pages
    };

Итак, проблема в том, что при такой настройке Django пытается искать пакеты, используя адрес

http://localhost:8006/static/js/my_bundle.js

вместо https://my_service_url.com/static/js/my_bundle.js

Как мне заставить это работать? Я полагаю, мне нужно как-то настроить module.exports...

Вернуться на верх