Vue.js的点点滴滴(二)
前面在Vue.js的点点滴滴(一)(https://www.imooc.com/article/286214)中,介绍了Vue.js的环境安装以及部分实例代码,在这里介绍一下创建Vue.js项目的创建方法以及项目工程结构等。
一、命令窗口创建Vue工程
(1)cmd命令窗口,执行 vue create vue工程名 命令创建vue工程
比如:vue create first-vue-demo
(2)上下箭头选择 > Manually select features,回车,如下图
我们上下箭头 + 空格键 选中我们所需要的依赖环境,这里选中了五个,如果你的项目中需要使用TypeScript你也可以选中它。选中之后,切换到最后一个,回车进入下一步。
(3)它会询问你:“ Use history mode for router?” ,选择Yes,回车进入下一步;
开始选择Sass/SCSS,我们选中第一个> Sass/SCSS (with dart-sass)即可,回车;
然后选中> ESLint + Airbnb config,回车;
然后选中>(*) Lint on save,回车;
然后选中> In dedicated config files,回车;
“? Save this as a preset for future projects? (y/N)” 询问你:“是否将此保存为将来项目的预设?”我们选择N,回车,项目就会开始创建,如下图:
(4)当你看到: Successfully created project first-vue-demo. 时,就说明项目创建成功了,之后就可以执行下面的命令启动并访问项目了。
cd first-vue-demo
$ npm run serve
二、网页视图创建Vue工程
在使用网页视图创建Vue工程时,要确保你已经安装了vue-cli工具:npm install -g @vue/cli
其中-g表示全局安装;
创建过程如下:
(1)cmd命令窗口,进入项目所要存放的目录下或者切换到项目所要存放的目录下 Shift + 鼠标右键,选中“在此处打开Powershell窗口” 来启动命令窗口,执行命令:vue ui ,如下:
(2)在浏览器上访问:http://localhost:8000/project/select,打开Vue项目管理器,如图:
它会展示你项目目录下的其他Web项目。
(3)点击“在此创建新项目”, 项目文件夹输入项目名,包管理器选中npm,Git下填写你项目的git地址即可,如下:
(4)点击“下一步”, 预设,我们选择手动(手动配置项目), 如下:
(5)点击“下一步”,功能模块,需要选择我们需要的依赖,这里我们选择如下:
(6)点击“下一步”,配置模块,我们选择Sass/CSS 和ESLint+Standard config
(7)点击“创建项目”,输入“预设名”,点击“保存预设并创建项目”,完成项目的创建,这是一个漫长的过程,可能需要等几分钟。
(8)项目创建完成之后,我们可以查看项目已安装的相关插件,如下:
查看项目的依赖信息,如下:
查看项目的配置信息,如下:
查看项目的任务信息,如下:
在项目的任务模块下,可以直接编译启动运行项目,点击 “运行”, 如下:
之后就可以在浏览器访问了。
三、Vue工程结构
Vue工程创建完成后,导入到WebStorm中,项目工程结构如下图所示:
项目的目录文件说明:
build: webpack配置文件
config: 项目开发环境/线上环境/测试环境的配置文件
node_modules: 项目的依赖环境
src: 项目源代码目录
static:项目的静态资源
test: 项目的测试代码
index.html: 项目的根实例
package.json: 项目描述文件,包括项目的基本信息、启动项目的命令以及项目依赖的基本信息
src目录下的文件说明:
assest: 存放静态资源文件,比如图片,CSS样式等
components: 组件库
main.js文件是项目的入口文件
App.vue是一个组件
由于项目的创建方式以及依赖会有所不同,所以创建的项目的目录结构会有所不同。请视具体情况而看,这里只是列举了一些重要文件结构来说的。
四、实现一个todolist
创建一个名为todolist的项目,创建完成之后,导入到WebStorm中,分别修改以下文件内容:
(1)修改项目根目录下的index.html文件,内容如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1.0"> <title>todolist</title> </head> <body> <div id="app"></div> <!-- built files will be auto injected --> </body> </html>
(2)修改src目录下的main.js,内容如下:
import Vue from 'vue'
import TodoList from './TodoList'
Vue.config.productionTip = false
/* eslint-disable no-new */
new Vue({
el: '#app',
components: { TodoList },
template: '<TodoList/>'
})(3)修改src目录下components目录下的HelloWorld.vue,改名为:TodoItem.vue,内容如下:
<template>
<li class="item" v-on:click="handleDelete">{{content}}</li>
</template>
<script>
export default {
props: ['content','index'],
methods:{
handleDelete(){
this.$emit('delete', this.index)
}
}
}
</script>
<style scoped>
.item{
color: green;
}
</style>(4)修改src目录下的App.vue,改名为:TodoList.vue,内容如下:
<template>
<div>
<div>
<input class="item" v-model="inputValue"/>
<button v-on:click="handleSubmit">提交</button>
</div>
<ul>
<todo-item v-for="(item,index) of list"
:key="index"
:content="item"
:index="index"
@delete="handleDelete"></todo-item>
</ul>
</div>
</template>
<script>
import TodoItem from './components/TodoItem'
export default {
components: {
'todo-item': TodoItem
},
data: function () {
return {
inputValue: '',
list: []
}
},
methods: {
handleSubmit: function () {
this.list.push(this.inputValue)
this.inputValue = ''
},
handleDelete: function (index) {
this.list.splice(index, 1)
}
}
}
</script>
<style>
.item {
color: red;
}
</style>到这里我们就开发完成了,之后启动项目,在浏览器中访问:http://localhost:8080/,操作效果如下:
点击之后又可以删除它。
在启动过程中,可能会遇到如下错误信息:
Expected indentation of 2 spaces but found 3
解决办法:
进入项目的config目录下,找到webpack.base.conf.js文件,将module-rules下的
...(config.dev.useEslint ? [createLintingRule()] : []),
注释掉,即可
然后即可重启项目,进行访问。
共同学习,写下你的评论
评论加载中...
作者其他优质文章


















