你好!
开始使用vue-router
,但遇到错误:
Vue.use 不是函数
谷歌搜索,一无所获(谷歌上的白带)。
所有路径均已正确配置,模块已安装。
为什么会出现这个错误?
代码:
index.js(主文件,webpack 的入口点)
//require modules
const Vue = require('vue');
const VueRouter = require('vue-router');
// require components
const Index = require('../public/components/Index.vue');
const Items = require('../public/components/Items.vue');
const Users = require('../public/components/Users.vue');
const routes = [
{ path: '/', component: Index},
{ path: '/vue', component: Users},
{ path: '/news', component: Items}
];
//Setup routes
Vue.use(VueRouter);
const router = new VueRouter({
routes,
mode: 'history'
});
// Register components
new Vue({
el: '#app',
router,
render: h => h(Index)
});
索引.vue
<template>
<div id="app">
<h1>Index</h1>
<hr>
<router-view></router-view>
</div>
</template>
<script>
export default {
data: () => {return {}}
}
</script>
错误:
webpack.config.js(可能不在配置中)
const path = require('path');
const webpack = require('webpack');
module.exports = {
entry: __dirname + "/public/index.js",
output: {
path: __dirname + "/public",
filename: 'build.js',
library: 'index'
},
module: {
rules: [
{
test: /\.vue$/,
loader: 'vue-loader',
options: {
loaders: {}
}
}, {
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'
}
}
};
vue
里面有什么require('vue');
?写webpack
了什么必须写。
这就是您指定它是什么的方式
vue
。否则,指定路径。
看着
config
。如上所述更改,或使用
import
instead ofrequire
。您现在已注册
这个文件
vue.esm.js
是模块es6
。