Vue.js中的页眉和页脚组件
我正在学习Vue.js,我没有使用cli安装Vue.js,我只是下载了Vue.js文件并尝试学习它 我的问题是将header.vue和footer.vue等组件外部化,并将它们添加到主组件中 我使用了Vue.js中的页眉和页脚组件,vue.js,vuejs2,Vue.js,Vuejs2,我正在学习Vue.js,我没有使用cli安装Vue.js,我只是下载了Vue.js文件并尝试学习它 我的问题是将header.vue和footer.vue等组件外部化,并将它们添加到主组件中 我使用了Vue.component('MyHeader',require('./components/Header.Vue')加载组件,但我遇到了类似于“未捕获引用错误:未定义require”的错误 为了解决此错误,我从下载了require.js文件,但仍然无法加载组件文件 文件夹结构 <templa
Vue.component('MyHeader',require('./components/Header.Vue')
加载组件,但我遇到了类似于“未捕获引用错误:未定义require”
的错误
为了解决此错误,我从下载了require.js文件,但仍然无法加载组件文件
文件夹结构
<template>
<h1>I am Header</h1>
</template>
<template>
<h1>I am Footer</h1>
</template>
index.html
<!DOCTYPE html>
<html>
<head>
<title>this is example of header and footer</title>
</head>
<body>
<div id='root'>
<testcomponent></testcomponent>
<MyHeader></MyHeader>
<div>I am Content</div>
<MyFooter></MyFooter>
</div>
<!-- we need this two files for vue js -->
<script type="text/javascript" src="vue.js"></script>
<script type="text/javascript" src="require.js"></script>
<!-- End of we need this two files for vue js -->
<script type="text/javascript" src="indexController.js"></script>
</body>
</html>
这是页眉和页脚的示例
我很满意
indexController.js
//rout file for vue js
Vue.component("testcomponent",{
template:'<p>I am Test Component</p>'
});
Vue.component('MyHeader', require('./components/Header.vue'));
Vue.component('MyFooter', require('./components/Footer.vue'));
//import MyHeader from './components/Header.vue'
//import MyFooter from './components/Footer.vue'
var app = new Vue({
el: "#root",
components: {
MyHeader,
MyFooter
},
data: {
},
methods:{
}
});
//vue js的路由文件
组件(“testcomponent”{
模板:“我是测试组件”
});
组件('MyHeader',require('./components/Header.Vue');
组件('MyFooter',require('./components/Footer.Vue');
//从“./components/Header.vue”导入MyHeader
//从“./components/Footer.vue”导入MyFooter
var app=新的Vue({
el:“根”,
组成部分:{
我的头,
我的页脚
},
数据:{
},
方法:{
}
});
标题.vue
<template>
<h1>I am Header</h1>
</template>
<template>
<h1>I am Footer</h1>
</template>
我是头球手
Footer.vue
<template>
<h1>I am Header</h1>
</template>
<template>
<h1>I am Footer</h1>
</template>
我是页脚
正如评论中所说,您需要一个生成工具来使用.vue文件。但是,通过使用plain.js文件,您可以获得组件的所有优点,除了作用域css
将模板放入.js模板字符串中,然后使用旧方法调用组件,使用
,或者使用requirejs调用它们,但它们必须是普通的.js文件,而不是.vue。单文件组件(.vue)
您需要vue loader将.vue文件转换为标准js格式。
如果您将在上阅读文档,基本上需要使用webpack或browserify来使用.vue文件扩展名。如果您刚刚开始使用vue和所有JS魔法,我将研究vue cli安装方法。它应该安装webpack和单页组件所需的所有东西,然后您可以反向工作来解构该设置的各个部分 您还可以查看vue GitHub repos中的示例 该示例使用vuex和单文件组件,但它是可靠的。CommonJS使用
require
(不要与使用AMD的require.js
混淆):
而不是创建
Header.vue
createHeader.js
,然后您可以像这样要求它:
module.exports = {
template: `<template>
<h1>I am Header</h1>
</template>`
}
要使用.vue
组件文件和结构化,您需要vue网页包加载器
和一个构建堆栈,其中包括webpack或browserify
看
您是否使用任何构建工具将
.vue
文件转换回javascript?不,我没有使用任何工具,我显示许多人使用.vue文件存储组件根据,如果您想使用.vue
单文件组件,您需要一个构建工具。我强烈建议您使用优秀的.vue而不是Header.vue
createHeader.js
:module.exports={template:`I am Header}来避免设置自己的构建堆栈所带来的巨大痛苦`我使用npm install--global webpack安装了webpack,然后使用cd xampp\htdocs\vuejsdemo移动到我的项目目录,然后键入npm init,然后键入webpack indexController.js bundle.js,但仍然收到类似“error in./components/Header.vue Module parse failed:意外令牌(1:0)”的错误@JunedAnsari我希望您需要从vue cli基本代码开始,您可以在此处找到它。