gpt4 book ai didi

django - Webpack:使用 Django 存储从 S3 加载 Codesplit block

转载 作者:行者123 更新时间:2023-12-01 13:41:03 25 4
gpt4 key购买 nike

我正在使用 django 存储从 s3 提供我的静态文件,并且正在将它们全部移动到 webpack 包中。这适用于 django-webpack-loader这并不关心 django 在哪里找到捆绑包。

我的问题是当我开始使用 require.ensure 定义分割点时,捆绑包尝试使用相对路径而不是 s3 存储桶下载 block ,因为 webpack 的代码拆分功能与 django 存储无关。

有没有办法注入(inject)自定义逻辑来按需获取 block ?我并没有将我的 s3 捆绑地址硬编码到配置文件中,但到目前为止我尝试过的任何方法都没有奏效。

这是我的 webpack 配置(用 CoffeeScript 编写)

path = require "path"
webpack = require 'webpack'
BundleTracker = require 'webpack-bundle-tracker'
ExtractTextPlugin = require "extract-text-webpack-plugin"
loaders = require "./loaders.coffee"

module.exports =
context: __dirname
entry: require "./entries.coffee"
output:
path: path.resolve 'app/static/dist/'
filename: '[name].js'
sourceMapFilename: "[name].map.js",
devtool: "source-map"

plugins: [

new BundleTracker filename: './webpack/webpack-stats-prod.json'

new webpack.DefinePlugin
'process.env':
'NODE_ENV': JSON.stringify 'production'

new webpack.optimize.OccurenceOrderPlugin

new ExtractTextPlugin "[name].css"

new webpack.optimize.UglifyJsPlugin
sourceMap: false
compressor:
warnings: false


]

module:
loaders: loaders.production_loaders

resolve: loaders.resolution

最佳答案

原来我只需要在 output 下设置 publicPath 选项.我设置了我的 ansible 脚本以将存储桶地址写入附近的文件。

{bucket} = require "./bucket.json"


module.exports =
context: __dirname
entry: require "./entries.coffee"
output:
path: path.resolve 'app/static/dist/'
filename: '[name].js'
sourceMapFilename: "[name].map.js",
publicPath: bucket + "/static/dist/"

关于django - Webpack:使用 Django 存储从 S3 加载 Codesplit block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40245682/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com