我写了一个vue.js+webpack的例子,在进行webpack命令时出现了如下错误。

项目结构:
index.html:
webpack vue
Hell World!
main.js:
import Vue from '../node_modules/vue';
import VueRouter from '../node_modules/vue-router'
Vue.use(VueRouter);
import index from './components/app';
import list from './components/list';
import hello from './components/hello';
Vue.config.debug = true;
var App = Vue.extend({});
var Router = new VueRouter();
router.map({
'/index': {
name: 'index',
component: index,
subRoutes: {
'/hello': {
name: 'hello',
component: hello
}
}
},
'/list': {
name: 'list',
component: list
}
});
router.redirect({
'*': '/index'
});
router.start(App, '#app');
webpack.config.js :
var path = require('path');
module.exports = {
entry: './src/main',
output: {
path: path.join(__dirname, './dist'),
filename: '[name].js',
publicPath: '/dist/'
},
devServer: {
historyApiFallback: true,
hot: false,
inline: true,
grogress: true
},
module: {
loaders: [
{ test: /\.vue$/, loader: 'vue' },
{ test: /\.js$/, loader: 'babel', exclude: /node_modules/ },
{ test: /\.css$/, loader: 'style!css!autoprefixer' },
{ test: /\.scss$/, loader: 'style!css!sass?sourceMap' },
{ test: /\.(png|jpg|gif)$/, loader: 'url-loader?limit=8192' },
{ test: /\.(html|tpl)$/, loader: 'html-loader' }
]
},
vue: {
loaders: {
css: 'style!css!autoprefixer!sass',
}
},
babel: {
presets: ['es2015'],
plugins: ['transform-runtime']
},
resolve: {
extensions: ['', '.js', '.vue'],
alias: {
filter: path.join(__dirname, './src/filters'),
components: path.join(__dirname, './src/components')
}
},
devtool: 'eval-source-map'
};
app.vue:
姓名:{{name}}
{{age}}
v-link查看列表
回去主页
是哪里没注意到吗?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
npm install vue-loader vue-html-loader vue-style-loader css-loader -save
原因是没有安装 vue-loader,使用 npm install vue-loader --save-dev
router.start(App, '#app');话说你把App这个组件挂载到#app上,这样页面里原来的部分还不在?我感觉好像应该是不在的吧
原因是npm运用不熟,使用cnpm install,npm run
看到一句多余的话:
<script src="dist/vue.js" charset="utf-8"></script>加来干嘛,没用啊!
毫无悬念, 都是没有认真看代码的
注意这里是
methods不是method确保
vue-loader
vue-html-loader
安装
遇到相似问题;
solution:将loader中“vue”改成“vue-loader”
loaders: [
{
}, ...