この記事について
タイトルの通りで、nuxtで実装したものをMonacaにもっていったところ、iOSやMonacaデバッガーでは動くのに、ビルドしてAndroid端末にインストールするとうまく動かないということがありました。その対応です
調査
うまく動かないというのは、アプリが立ち上がったあとNuxtのローディングのまま進まないという状態になりました
logCatで確認すると、
E/AndroidProtocolHandler: Unable to open asset URL: file:///android_asset/www/_nuxt/bac0a27cb58f83031038.js
index.htmlからの初っ端の.js読み込みに失敗していました。
そして調べていくと、Phonegapではローカルリソースのパスはセンシティブという記事を見つけました。
やったこと
ということで、
dist の中にできる
_nuxt
の名称を変えたら、それだけでAndroidでも動くようになりました
nuxt.config.ts抜粋
build: {
publicPath: '/mynuxt/',
extend(config, ctx) {
config.output.publicPath = 'mynuxt/'
}
}