Home>

Headless CMS tutorial called graphCMS.
Below is the URL.
https://docs.graphcms.com/tutorials/developers/beginners_guide_with_vue

I was coding according to the tutorial.
At the end, the following error occurred and the compilation failed.

Failed to compile.
./src/main.js
Module build failed: SyntaxError: Unexpected character '' (17: 2)
  15 | const apolloProvider = new VueApollo ({
  16 | defaultClient: apolloClient
>17 |})
     | ^
  18 |
  19 | new Vue ({
  20 | el: '#app',
 @ multi (webpack) -dev-server/client? http: // localhost: 8082 webpack/hot/dev-server ./src/main.js

This is a syntax error, but I don't know the cause of the error.

Error occurrence The corresponding file (main.js) is as follows.

import {ApolloClient} from 'apollo-client'
import {HttpLink} from 'apollo-link-http'
import {InMemoryCache} from 'apollo-cache-inmemory'
import VueApollo from 'vue-apollo'
import router from './router.js'
const GRAPHCMS_API = 'https://api-apeast.graphcms.com/v1/cjlgmrqsb051401ehmtd45tsi/master'
const apolloClient = new ApolloClient ({
  link: new HttpLink ({uri: GRAPHCMS_API}),
  cache: new InMemoryCache ()
})
Vue.use (VueApollo)
const apolloProvider = new VueApollo ({
  defaultClient: apolloClient
})
new Vue ({
  el: '#app',
  provide: apolloProvider.provide (),
  router,
  template: '<App />',
  components: {App}
})

Webpack.config.json is as follows. I did not change anything created with vue cli.

var path = require ('path')
var webpack = require ('webpack')
module.exports = {
  entry: './src/main.js',
  output: {
    path: path.resolve (__ dirname, './dist'),
    publicPath: '/ dist /',
    filename: 'build.js'
  },
  module: {
    rules: [
      {
        test: /\.css$/,
        use: [
          'vue-style-loader',
          'css-loader'
        ],
      },
      {
        test: /\.scss$/,
        use: [
          'vue-style-loader',
          'css-loader',
          'sass-loader'
        ],
      },
      {
        test: /\.sass$/,
        use: [
          'vue-style-loader',
          'css-loader',
          'sass-loader? indentedSyntax'
        ],
      },
      {
        test: /\.vue$/,
        loader: 'vue-loader',
        options: {
          loaders: {
            // Since sass-loader (weirdly) has SCSS as its default parse mode, we map
            // the "scss" and "sass" values ​​for the lang attribute to the right configs here.
            // other preprocessors should work out of the box, no loader config like this necessary.
            'scss': [
              'vue-style-loader',
              'css-loader',
              'sass-loader'
            ],
            'sass': [
              'vue-style-loader',
              'css-loader',
              'sass-loader? indentedSyntax'
            ]
          }
          // other vue-loader options go here
        }
      },
      {
        test: /\.js$/,
        loader: 'babel-loader',
        exclude:/node_modules /
      },
      {
        test: /\.(png|jpg|gif|svg)$/,
        loader: 'file-loader',
        options: {
          name: '[name]. [ext]? [hash]'
        }
      }
    ]
  },
  resolve: {
    alias: {
      'vue $': 'vue/dist/vue.esm.js'
    },
    extensions: ['*', '.js', '.vue', '.json']
  },
  devServer: {
    historyApiFallback: true,
    noInfo: true,
    overlay: true
  },
  performance: {
    hints: false
  },
  devtool: '# eval-source-map'
}
if (process.env.NODE_ENV === 'production') {
  module.exports.devtool = '# source-map'
  // http://vue-loader.vuejs.org/en/workflow/production.html
  module.exports.plugins = (module.exports.plugins || []). concat ([
    new webpack.DefinePlugin ({
      'process.env': {
        NODE_ENV: '"production"'
      }
    }),
    new webpack.optimize.UglifyJsPlugin ({
      sourceMap: true,
      compress: {
        warnings: false
      }
    }),
    new webpack.LoaderOptionsPlugin ({
      minimize: true
    })
  ])
}

Other tutorial files are in the repository below.
https://github.com/kawamataryo/graphcms-tutorial

I think it's a webpack configuration problem and I've been investigating it, but I'm having trouble understanding the cause.
Please help.