this answerには、次の構文が提案されています。WebPackがVueで認識しないスプレッドオペレータ
import { mapActions } from 'vuex'
export default {
vuex: {
getters: { activeDataRow: state => state.activeDataRow },
actions: { updateData, resetData }
},
methods: { ...mapActions(['updateData', 'resetData']) }
}
私はそれを動作させることができないと私はエラーを取得しています:
Module build failed: SyntaxError: C:/.../navigation.vue: Unexpected token (30:8)
29 | methods: {
30 | ...mapActions(['updateData', 'resetData'])
| ^
31 | }
私はconfiguring Babel to stage-2とadding pluginsを試みたが、それは何の変化も行われません。それについて何ができるのですか?どのようにトラブルシューティングを行うのですか?
babel: {
presets: ["es2015", "stage-2"],
plugins: ["transform-object-rest-spread"]
}
webpack.config.js
module.exports = {
entry: './index.js',
output: { path: __dirname, filename: 'bundle.js' },
module: {
loaders: [
{ test: /\.js$/, loader: 'babel', exclude: /node_modules/ },
{ test: /\.vue$/, loader: 'vue' }]
},
babel: {
presets: ["es2015", "stage-2"],
plugins: ['transform-runtime']
},
resolve: { alias: { 'vue$': 'vue/dist/vue.common.js' } }
}
Javascriptファイルにbabel-loaderを適用する必要があります。おそらくそれが欠けています。ステージ2のプリセットはオブジェクトスプレッド機能を持っているので、そうではありません。私はトランスフォームオブジェクトの休憩をあきらめることを提案します。とにかく、Webpackの設定を追加してください。少なくとも、JSファイルのローダーの設定は必要です。 –
@RishatMuhametshin私は設定ファイルを追加しました。私は既にステージ3と一緒に行くべきですか? –
私はvueについて何も知らないけど、あなたのコードは '.vue'や' .js'ファイルに入っていますか?バーベル変換は '.js'ファイルにのみ適用されます。 –