web-dev-qa-db-ja.com

例外値:文字列インデックスは整数である必要があります:レンダリングバンドルエラーvue + django

私は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' %}

エラー:例外値:文字列インデックスは整数である必要があります

3
daniqt2

@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_FILEsettings.pyを変更する必要があります(たとえば、= Vueプロジェクトはfrontend

'STATS_FILE': os.path.join(BASE_DIR, 'frontend','webpack-stats.json'),

次に、VueおよびDjango Webサーバーを再起動します。

0
Marco Giuliani

同じ問題。以下の設定は私のために働きました

0
Denis Ilchishin

例外値:文字列インデックスは整数でなければなりません

私もこの奇妙なエラーが発生しました。webpack-bundle-tracker@ 0.4.3にダウングレードすることを確認しました。

0
lapcchan