对比React的脚手架工具react-cli, Vue也有一套脚手架工具vue-cli,赶紧来体验一下吧!
1.首先下载这个脚手架工具(前提把npm或cnpm配好 参考,不然下载就会蛋疼)——打开控制台,运行如下命令:
npm install -g @vue/cli
2.使用脚手架创建项目——运行如下命令(假设项目名为"hello-world",preset初学选"default"就行):
3.进入hello-world目录并运行项目:
4.用VSCode打开hello-world项目:
这里大致猜测一下,main.js应该是项目入口文件,它引用了App.vue这个组件,components目录应该是放自定义组件的地方,待会用。让我们修改App.vue并新增一个模板来稍微改造下这个项目。
5.尝试修改项目。
原有App.vue内容如下(注释部分是我的猜测,并不严谨):
<template>
<!--这里应该是和index.html里那个id为app的div起绑定的地方-->
<div id="app">
<img alt="Vue logo" src="./assets/logo.png">
<HelloWorld msg="Welcome to Your Vue.js App"/>
</div>
</template>
<script>
// 这里引用自定义的模板
import HelloWorld from './components/HelloWorld.vue'
// 这里epxort出定义的Vue对象
export default {
name: 'app',
components: {
HelloWorld
}
}
</script>
<!--这里定义组件样式-->
<style>
#app {
font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
</style>
我们修改成下面的样子(整体结构不变,仅仅去掉style)
<template>
<div id="app">
<ol>
<todo-item v-for="item in groceryList" v-bind:todo="item" v-bind:key="item.id"></todo-item>
</ol>
</div>
</template>
<script>
import TodoItem from './components/TodoItem.vue'
export default {
name: 'app',
data() {
return {
groceryList: [
{
id:0,
text:'蔬菜'
}, {
id:1,
text:'水果'
}, {
id:2,
text: '其它'
}]
}
},
components: {
TodoItem
}
}
</script>
引用到的TodoItem.vue外面在components目录下加入:
<template>
<li class="text">{{todo.text}}</li>
</template>
<script>
export default {
props: ['todo'],
}
</script>
<!--添加"scoped"属性是为了把下面style声明的css样式限制在当前这个组件-->
<style scoped>
.text {
color: #42b983;
}
</style>
效果(这个Demo源自笔记1):
希望修改页面title的可以在index.html这个文件中改,但是不要动里面的其它东西。