我正在尝试将使用webpack转换.vue文件的Vue项目的绝对最低限的示例放在一起。
我的目标是详细了解每个构建步骤。大多数教程都建议使用 vue-cli
并使用 webpack-simple
配置。尽管这种设置有效,但对我的简单目的而言似乎有些过分。现在我不想要使用热模块重新加载的babel,linting或实时Web服务器。
一个简单的例子 import Vue from 'vue'
作品! Webpack将vue库和我自己的代码编译成一个包。
但现在,我想补充一下 VUE装载机 到webpack配置,这样 .vue
文件将被翻译。我已经安装了vue loader:
npm install vue-loader
npm install css-loader
npm install vue-template-compiler
我已经在webpack配置中添加了vue-loader:
var path = require('path')
module.exports = {
entry: './dev/app.js',
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist')
},
module: {
rules: [
{
test: /\.vue$/,
loader: 'vue-loader',
options: {
loaders: {
}
}
}
]
},
resolve: {
alias: {
'vue$': 'vue/dist/vue.esm.js'
}
}
};
我创建了hello.vue
<template>
<p>{{greeting}} World</p>
</template>
<script>
export default {
data:function(){
return {
greeting:"Hi there"
}
}
}
</script>
在我的应用程序中,我导入'你好'
import Vue from 'vue'
import hello from "./hello.vue";
new Vue({
el: '#app',
template:`<div><hello></hello></div>`,
created: function () {
console.log("Hey, a vue app!")
}
})
装载机似乎没有拿起 .vue
文件,我收到错误:
Module not found: Error: Can't resolve './hello.js'
编辑
当试图 import hello from 'hello.vue'
我收到错误:
Unknown custom element: <hello> - did you register the component correctly?
我错过了一步吗?我是否以正确的方式导入.vue组件?如何使用app.js中的hello.vue组件?