Vue.js 2.0模块构建失败:SyntaxError:使用webpack,Elixir和gulp

时间:2016-10-30 15:26:32

标签: webpack gulp vue.js vuejs2

在花了将近一整天尝试从Vue.js 1.X升级到Vue.js 2.0后,我仍然遇到错误(使用gulp watch)

  

错误   ./~/buble-loader!./~/vue-loader/lib/selector.js?type=script&index=0!./resources/assets/js/components/example/example.vue   模块构建失败:SyntaxError:意外的令牌(41:79)       在Parser.pp $ 4.raise(/home/vagrant/Projects/test/node_modules/acorn/dist/acorn.js:2221:15)       在Parser.pp.unexpected(/home/vagrant/Projects/test/node_modules/acorn/dist/acorn.js:603:10)       在Parser.pp $ 3.parseExprAtom(/home/vagrant/Projects/test/node_modules/acorn/dist/acorn.js:1822:12)       在Parser.parseExprAtom(/home/vagrant/Projects/test/node_modules/buble/dist/buble.umd.js:656:26)       在Parser.pp $ 3.parseExprSubscripts(/home/vagrant/Projects/test/node_modules/acorn/dist/acorn.js:1715:21)       在Parser.pp $ 3.parseMaybeUnary(/home/vagrant/Projects/test/node_modules/acorn/dist/acorn.js:1692:19)       在Parser.pp $ 3.parseExprOps(/home/vagrant/Projects/test/node_modules/acorn/dist/acorn.js:1637:21)       在Parser.pp $ 3.parseMaybeConditional(/home/vagrant/Projects/test/node_modules/acorn/dist/acorn.js:1620:21)       在Parser.pp $ 3.parseMaybeAssign(/home/vagrant/Projects/test/node_modules/acorn/dist/acorn.js:1597:21)       在Parser.pp $ 3.parseMaybeAssign(/home/vagrant/Projects/test/node_modules/acorn/dist/acorn.js:1608:25)   @ ./resources/assets/js/components/example/exmple.vue   7:18-107 @   ./~/buble-loader!./~/vue-loader/lib/selector.js?type=script&index=0!./resources/assets/js/components/example/exampleParent.vue @ ./resources/ assets / js / components / example / exampleParent.vue @   ./resources/assets/js/app.js

我尝试多次安装,现在以以下软件包结束

{
  "private": true,
  "scripts": {
    "prod": "gulp --production",
    "dev": "gulp watch"
  },
  "dependencies": {
    "babel-core": "^6.18.0",
    "babel-loader": "^6.2.7",
    "babel-plugin-transform-runtime": "^6.15.0",
    "babel-runtime": "^6.18.0",
    "bootstrap": "^3.3.7",
    "bootstrap-switch": "^3.3.2",
    "css-loader": "^0.25.0",
    "lodash": "^4.14.0",
    "vue": "^2.0.3",
    "vue-hot-reload-api": "^2.0.6",
    "vue-html-loader": "^1.2.3",
    "vue-loader": "^9.7.0",
    "vue-resource": "^1.0.3",
    "vue-strap": "^1.1.18"
  },
  "devDependencies": {
    "babel-preset-es2015": "6.9.0",
    "bootstrap-sass": "^3.3.7",
    "gulp": "^3.9.1",
    "install": "^0.8.2",
    "laravel-elixir": "^6.0.0-9",
    "laravel-elixir-vue-2": "^0.2.0",
    "laravel-elixir-webpack-official": "^1.0.9",
    "npm": "^3.10.9",
    "vue-router": "^2.0.1"
  }
}

我的gulpfile看起来像

const elixir = require('laravel-elixir');

require('laravel-elixir-vue-2');

elixir(mix => {
    mix.sass('app.scss')
        .webpack('app.js')
        .webpack('backend.js')
       //  other stuff. . .  //
}

有什么问题?如何解决这些重复错误?

1 个答案:

答案 0 :(得分:0)

首先,每当您收到错误意外令牌时...其9/10语法错误。所以进入你的example.vue并检查你是否在方法或计算或数据之后错过了冒号。所以这个错误肯定在 在{40}附近的resources/assets/js/components/example/example.vue。 其次,我不确定你在那里尝试使用webpack做什么,但是如果你想将脚本合并为一个,webpack将接受一系列脚本,如下所示:

        .webpack([
          'app.js',
          'scripts/choose-language.js'
        ])

,您甚至可以使用第二个参数指定输出脚本文件名。