前提・実現したいこと
Nuxt.jsにおいて、axiosで使用されているスプレッド構文がbabelでトランスパイルできない。
発生している問題・エラーメッセージ
SCRIPT1028: 識別子、文字列または数がありません。
IEで表示しようとすると、上記のメッセージが表示され、該当のコードは以下になります。
該当のソースコード
github.com/nuxt-community/axios.git/lib/module.js
JavaScript
1function axiosModule (_moduleOptions) { 2 const moduleOptions = { ...this.options.axios, ..._moduleOptions } 3...........
エラーの該当箇所はaxiosModule(@nuxt/axios)中のコードであり、
コンパイル済みのソースには、多量の_objectSpread()関数が存在しているため
(定義だけでなく使用箇所も存在しています。)
その他の部分ではトランスパイルが行われていることを確認できましたが、
axiosのライブラリ内のスプレッド構文だけトランスパイルできないようです。
この時のnuxt.config.jsのbuild.babelの設定は以下の通りです
json
1presets({ isServer }, [ preset, options ]) { 2 return [ 3 [ 4 preset, 5 { 6 targets: isServer 7 ? { node: 'current' } 8 : { ie: "11" }, 9 useBuiltIns: 'entry', 10 buildTarget: isServer ? 'server' : 'client', 11 ...options 12 } 13 ] 14 ] 15}
試したこと
babelのプラグインなどを調べたり、babel/replを使ってここまでたどり着きましたが、
@nuxtのモジュールに対して個別にbabelを適用する方法を見つけることができませんでした。
補足情報(FW/ツールのバージョンなど)
node.js: 11.15
nuxt.js: 2.5.0
core-js: 2
nuxtのmodeはSPAです。
あなたの回答
tips
プレビュー