【发布时间】:2017-08-10 16:53:48
【问题描述】:
每当我想构建文件时,我都会不断收到错误消息。它的原因是什么? 似乎 .vue 文件无法被 webpack 识别,但 webpack 配置文件看起来正常。 网页包错误
bundle-app.js 189 kB 1 [emitted] app
+ 12 hidden modules
ERROR in Unexpected token >
@ ./app/application.js 7:11-31
webpack.config.js
var path = require("path");
module.exports = {
context: path.join(__dirname, 'src'),
entry: {
app: './app/application.js'
},
output: {
path: path.join(__dirname, 'dist'),
filename: 'bundle-[name].js'
},
module: {
loaders: [
{
test: /\.js$/,
loader: 'babel-loader',
include: /src/,
query: {
presets: ["es2015"]
}
},
{
test: /\.vue$/,
loader: 'vue',
},
]
},
vue: {
loaders: {
js: 'babel'
}
}
}
package.json
"devDependencies": {
"webpack": "~2.2.1",
"babel-core": "~6.23.1",
"babel-loader": "~6.3.1",
"babel-preset-es2015": "~6.22.0",
"sass-loader": "~6.0.0",
"node-sass": "~4.5.0",
"extract-text-webpack-plugin": "~2.0.0-rc.3",
"vue-template-compiler": "~2.2.4",
"css-loader": "~0.27.3",
"vue-loader": "~11.1.4"
},
"dependencies": {
"vue": "~2.2.4"
}
}
app/application.js
import Vue from 'vue'
import App from './app.vue'
new Vue({
el: 'body',
component: { App }
})
app/app.vue
<template>
<div id="app">
</div>
</template>
<script>
export default {
data () {
return {
msg: 'Hello from vue-loader!'
}
}
}
【问题讨论】:
-
尝试将 es2015 预设移动到单独的
.babelrc文件。它应该看起来像这样{ "presets": ["es2015"], "comments": false }更多信息请查看这里 github.com/bedakb/vuewp/blob/master/.babelrc 还要考虑不要将 vue 应用程序挂载到 body 标签,跨度> -
@BelminBedak 我已经完成了,但仍然出现错误
-
啊,由于您使用的是 webpack 2,您现在不能省略
-loader关键字。尝试将loader: 'vue'更改为loader: 'vue-loader' -
在导出默认 {} ... 之后你不是错过了关闭
</script>吗? -
在这里发现错字
component: { App }应该是组件 - 复数。
标签: javascript webpack vue.js vue-loader