私はWebパックローダーを使用してmy vue appをDjangoに感染させています。ここにコードがあります:
設定 :
WEBPACK_LOADER = {
'DEFAULT':{
'BUNDLE_DIR_NAME':'/',
'STATS_FILE':os.path.join(BASE_DIR,'aptim-frontend/dist','webpack-stats.json')
}}
vue構成ファイル:
const BundleTracker = require("webpack-bundle-tracker");
module.exports = {
// on Windows you might want to set publicPath: "http://127.0.0.1:8080/"
publicPath: "http://0.0.0.0:8080/",
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("http://0.0.0.0:8080")
.Host("0.0.0.0")
.port(8080)
.hotOnly(true)
.watchOptions({ poll: 1000 })
.https(false)
.headers({ "Access-Control-Allow-Origin": ["*"] });},};
そして、エラーが発生するhtml行はインデックスhtmlにあります
{% render_bundle 'app' %}
エラー:例外値:文字列インデックスは整数である必要があります
@Fransの指示に従ってWebpack-bundle-trackerをダウングレード
npm install --save-dev [email protected]
vue.config.js
config
.plugin('BundleTracker')
.use(BundleTracker, [{filename: './webpack-stats.json'}])
次に、古いwebpack-stats.json
があるdist
フォルダを削除します
このバージョンでは、この構成では、webpack-stats.json
ファイルはfrontend/dist
ではなくfrontend
に生成されるため、STATS_FILE
のsettings.py
を変更する必要があります(たとえば、= Vueプロジェクトはfrontend
)
'STATS_FILE': os.path.join(BASE_DIR, 'frontend','webpack-stats.json'),
次に、VueおよびDjango Webサーバーを再起動します。
同じ問題。以下の設定は私のために働きました
例外値:文字列インデックスは整数でなければなりません
私もこの奇妙なエラーが発生しました。webpack-bundle-tracker@ 0.4.3にダウングレードすることを確認しました。