我使用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(…)
任何想法在这里缺少什么?感谢,
答案 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