Vue-loader 语法错误:从 js 文件导入组件时出现意外的令牌
Posted
技术标签:
【中文标题】Vue-loader 语法错误:从 js 文件导入组件时出现意外的令牌【英文标题】:Vue-loader Syntax Error: Unexpected token when importing a component from a js file 【发布时间】:2018-03-31 16:20:59 【问题描述】:我有一个vue 2项目使用的是webpack 2,放弃了一段时间然后回来发现几个错误,我认为可能与旧版本有关,所以我升级到webpack 3,并更新了vue-loader .
现在我似乎每次尝试将组件导入 js 文件时都会收到错误 Syntax Error: Unexpected token
。
例如:
import App from './App.vue'
来自 main.js 文件给了我错误。从另一个 vue 组件中导入组件似乎不会给我带来任何问题。
这也是我在 main.js 中初始化应用程序的方式。所有这些以前都有效。
new Vue(
router: router,
store,
el: '#app',
render: h => h(App)
)
我不确定这是 vue-loader 或 webpack 配置的问题,还是两者兼而有之。
这是我的 package.json 版本:
"vue": "^2.5.2",
"vue-resource": "^1.3.4",
"vue-router": "^2.8.1",
"vuex": "^2.2.1",
"webpack": "^3.8.1",
"webpack-bundle-analyzer": "^2.2.1",
"webpack-dev-middleware": "^1.12.0",
"webpack-hot-middleware": "^2.20.0",
"webpack-merge": "^2.6.1",
"babel-core": "^6.26.0",
"babel-loader": "^7.1.2",
"babel-plugin-istanbul": "^3.1.2",
"babel-plugin-lodash": "^3.2.11",
"babel-plugin-transform-runtime": "^6.22.0",
"babel-preset-env": "^1.6.1",
"babel-preset-stage-2": "^6.22.0",
"babel-register": "^6.22.0",
【问题讨论】:
你能发布完整的文件吗? 当然,这里是 main.js 入口点:gist.github.com/tyler-g/24023a5e8ac9e0e02a685c267ae62680,这里是主 Vue 文件:gist.github.com/tyler-g/3de300678f3002da369abbfe6d415370 还有 package.json?"babel-register": "^6.22.0",
中的最后一个逗号是 .json
文件中的语法错误。
啊,是的,那只是一个sn-p。这是完整的 package.json:gist.github.com/tyler-g/02df570b3738075dea1dd31c6ff47ec1
【参考方案1】:
尝试将 npm 升级到最新版本。
【讨论】:
是的,就是这样。我不能说它是 node 还是 npm,但升级到 node 7 解决了这个问题 我在这上面浪费了很多时间。 @tyler-g,我认为这应该被接受。以上是关于Vue-loader 语法错误:从 js 文件导入组件时出现意外的令牌的主要内容,如果未能解决你的问题,请参考以下文章
导入没有 .vue 扩展名的 *.vue 文件时出现以下错误?
Node.js:语法错误:无法在模块外使用 import 语句
带有 vue-loader 和 sass-loader 的 webpack 无法导入 .scss 文件