webpack vue-loader 无效

webpack 编译成功 打开index.html出现错误:

clipboard.png

clipboard.png

编译成功提示:

clipboard.png

webpack.config.js

var path = require('path');

module.exports = {
    entry: path.resolve(__dirname, '../app/index/index.js'),
    output: {
        path: path.resolve(__dirname, '../public/static'),
        publicPath: 'static/',
        filename: '[name].[hash].js',
        chunkFilename: '[id].[chunkhash].js'
    },
    resolve: {
        extensions: ['', '.js', '.vue'],
    },
    module: {
        loaders: [
            {
                test: /\.vue$/, 
                loader: 'vue' ,
                exclude: /node_modules/
                  
            },
            {
                test: /\.js$/,
                loader: 'babel?presets=es2015',
                exclude: /node_modules/
            }
        ]
    }
}

index.js

import Vue from 'Vue'
import Favlist from './components/Favlist'

new Vue({
    el: '#app', 
    components: { Favlist }
})

Favlist.vue

<template>
    <div>{{ msg }}</div>
</template>

<script>
    export default {
        data () {
            return {
                msg: 'Hello World!!!'
            }
        }
    }
</script>

<style>
    html{
        background: red;
    }
</style>
阅读 5.9k
4 个回答

应该是es2015的presets没有生效,建议babel的配置放在项目根目录的.babelrc中。可以看看这篇文章

使用 vue-cli:

$ vue list
$ vue init webpack my_project

export default 不支持放在函数内

这么写试试看

module: {
preLoaders:[
{
            test: /\.js$/,
            loader: 'babel?presets=es2015',
            exclude: /node_modules/
        }
       
    ],
    loaders: [
         {
            test: /\.vue$/, 
            loader: 'vue' ,
            exclude: /node_modules/
              
        }
    ]
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题