使用webpack与vue,但要求似乎不起作用

时间:2017-03-10 14:47:25

标签: webpack vue.js

我使用webpack捆绑js,示例:

var Vue = require('vue')

var app = new Vue({
    el: '#app',
    data: {
        info: { email: '' },
        email: ''
    },

    methods: {

        onSignin: function (e) { },
    }
})

使用Webpack生成一个包并将其包含在html中,得到错误:

test3b.js:7019 Uncaught TypeError: Vue is not a constructor(…)

任何想法在这里缺少什么?感谢,

3 个答案:

答案 0 :(得分:6)

var Vue = require('vue')

是正确的,但默认情况下它会拉入运行时版本:

vue/dist/vue.runtime.common.js

这会触发错误并标记为警告, 需要告诉webpack引入另一个版本,

vue/dist/vue.min.js

要做到这一点,请将以下内容添加到webpack.config.js:

resolve: {
    alias: {
      vue: 'vue/dist/vue.min.js'
    }
}

这是documented here,但不容易找到

答案 1 :(得分:1)

您可以通过vue-hackernews-2.0结帐app.js项目,该项目通过webpack提供vue的示例实现,您将找到以下内容:

import Vue from 'vue'

您必须已在vue中拥有package.json依赖项,因为它是here并且您已通过以下方式安装了npm install

答案 2 :(得分:0)

请看下面的代码。您没有创建新变量,这就是您无法使用password_verify的原因。只需致电新的Vue。

另外,将var app = ...替换为ES6导入require

import Vue from 'vue'

与官方VueJS Webpack模板类似。 https://github.com/vuejs-templates/webpack/blob/master/template/src/main.js