我正在尝试将使用webpack转译. vue文件的Vue项目的绝对最低示例放在一起。
我的目标是详细了解每个构建步骤。大多数教程建议使用vue cli
并使用webpack simple
config。尽管这种设置很有效,但对于我的简单目的来说,似乎有些过头了。目前,我不想要babel、linting或带有热模块重新加载的实时web服务器。
一个简单的例子,只需从“Vue”导入Vue
就可以了!Webpack将vue库和我自己的代码编译成一个包。
但现在,我想将vue loader添加到webpack配置中,以便。vue
文件将被传输。我已安装vue loader:
npm install vue-loader
npm install css-loader
npm install vue-template-compiler
并且我已将vue-loader添加到webpack配置:
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'
}
}
};
我创造了你好。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'
编辑
当尝试从'hello.vue'
导入你好时,我得到错误:
Unknown custom element: <hello> - did you register the component correctly?
我漏了一步吗?我是不是在进口。vue组件的正确方式?我该如何使用hello。应用程序中的vue组件。js?
这里还有@Lukebarden和@thanksd的更多信息。从头开始建立一个Vue应用程序,它是基本的,我一路上删除了一些样式,因为我不想处理它:但它编译了JS:
https://github.com/ed42311/gu-vue-app
可以确认插件,我还没有添加解决方案,但现在我会:)
如果你有任何想法,请告诉我。
除了@thanksd回答:
从vue loader v15开始,需要一个插件:
// webpack.config.js
const VueLoaderPlugin = require('vue-loader/lib/plugin')
module.exports = {
module: {
rules: [
// ... other rules
{
test: /\.vue$/,
loader: 'vue-loader'
}
]
},
plugins: [
// make sure to include the plugin!
new VueLoaderPlugin()
]
}
https://vue-loader.vuejs.org/guide/
首先,您没有正确导入文件。您应该这样导入它:
import Hello from './hello.vue'
其次,导入组件后,您仍然需要以某种方式注册它。要么全局Vue.component('hello', Hello)
执行此操作,要么在Vue实例上执行此操作:
new Vue({
el: '#app',
template:`<div><hello></hello></div>`,
components: { 'hello': Hello },
created: function () {
console.log("Hey, a vue app!")
}
})
作为补充说明,如果您希望能够导入文件而不必指定。vue
扩展,您可以指定。vue
扩展名应该在配置文件中解析。
在这种情况下,配置文件中的解析
对象应该如下所示:
resolve: {
alias: {
'vue$': 'vue/dist/vue.esm.js'
},
extensions: ['.js', '.vue', '.json']
}
以下是关于resolve的文档。扩展
。
我正在玩grpc 有人成功使用进行生产吗?我们需要包括特使在内的所有依赖项吗?
我看到的所有解决方案都需要使用。但是,我想在Eclipse之外的单个文件上使用CDT解析器。那有什么办法吗?
问题内容: 我在整个应用程序中都使用spring 。现在,我也想为一个没有的创建一个。那有可能吗? 问题答案: JPA要求每个实体都有一个ID。因此,不可以,没有ID的实体是不允许的。 每个JPA实体都必须有一个主键。 从JPA规范 您可能想从这里阅读更多有关JPA如何处理数据库端没有ID的情况的信息(请参阅“无主键”)。
我们有一个应用程序,将部署在具有不同IP的服务器上。JNLP是在构建时生成的。因此,我们定义了没有代码库的JNLP: 然而,当第二次启动这个应用程序时(从第一次启动时创建的桌面图标),代码库被设置为本地文件系统,这是绝对无用的。我希望Java Webstart在第一次启动应用程序时使用实际的源地址设置代码库。这似乎不是真的。 我如何准备一个通用的JNLP,它可以在不同的服务器上使用而无需修改?
问题内容: 我需要使用(在AngularJS中)列出数组中的所有元素。 复杂的是,数组的每个元素都将转换为表的一,两或三行。 我不能创建有效的html(如果用于元素上),因为和之间不允许使用任何类型的重复元素。 例如,如果在上使用ng-repeat ,我将得到: 无效的html。 但是我需要生成的是: 其中第一行由第一个数组元素生成,接下来的三行由第二个数组生成,第五行和第六个由最后一个数组元素生
本文向大家介绍如何在没有ON条件的情况下使用MySQL JOIN?,包括了如何在没有ON条件的情况下使用MySQL JOIN?的使用技巧和注意事项,需要的朋友参考一下 我们可以不加条件地使用“交叉连接”。交叉联接以笛卡尔积形式给出结果。例如,如果一个表中有3条记录,而另一个表中有2条记录,则第一个记录将与所有第二个表记录匹配。然后,将重复相同的过程以进行第二次记录,依此类推。 交叉连接的例子 创建