Vue简单了解及前后端分离


1. 安装Node,修改npm镜像源

2. 安装依赖

(1) 全局安装vue依赖的webpack,安装 webpack-cli 依赖:

1
npm install webpack webpack-cli -g

(2) 全局安装vue-cli

1
npm install --global vue-cli

输入 webpack -vvue -V,显示版本号则说明安装成功。

C:\Users\用户名.vue-templates\webpack 文件夹存储着vue的模板。

img

如图所示,里面doc就是说明文档,template里面是默认的模板。

额。。。好像这里才是对的 C:\Users\用户名\AppData\Roaming\npm\node_modules\vue-cli

img

(3) 使用vue-cli创建vue项目

先切换到你要创建项目的文件夹下,然后

vue init webpack 项目名

会在当前文件夹下创建一个“项目名”的文件夹,里面就是vue的目录结构了。

输入命令后,会跳出几个选项让你回答:

Project name (baoge): —–项目名称,直接回车,按照括号中默认名字(注意这里的名字不能有大写字母,如果有会报错Sorry, name can no longer contain capital letters),阮一峰老师博客为什么文件名要小写 ,可以参考一下。

Project description (A Vue.js project): —-项目描述,也可直接点击回车,使用默认名字

Author (): —-作者,输入你的大名

接下来会让用户选择:

Runtime + Compiler: recommended for most users 运行加编译,既然已经说了推荐,就选它了

Runtime-only: about 6KB lighter min+gzip, but templates (or any Vue-specificHTML) are ONLY allowed in .vue files - render functions are required elsewhere 仅运行时,已经有推荐了就选择第一个了

Install vue-router? (Y/n) 是否安装vue-router,这是官方的路由,大多数情况下都使用,这里就输入“y”后回车即可。

Use ESLint to lint your code? (Y/n) 是否使用ESLint管理代码,ESLint是个代码风格管理工具,是用来统一代码风格的,一般项目中都会使用。

接下来也是选择题Pick an ESLint preset (Use arrow keys) 选择一个ESLint预设,编写vue项目时的代码风格,直接y回车

Setup unit tests with Karma + Mocha? (Y/n) 是否安装单元测试,我选择安装y回车

Setup e2e tests with Nightwatch(Y/n)? 是否安装e2e测试 ,我选择安装y回车

回答完毕后上图就开始构建项目了。

然后安装相关的依赖:

npm install

运行项目:

npm run dev

访问localhost:8080就可以看见欢迎页面了。

img

在配置文件 config里的index.js可以修改端口设置。

img

3. Vue目录结构

img

其中我们最常修改的部分就是 components 文件夹了,几乎所有需要手动编写的代码都在其中。

分析几个文件,index.html,/src/main.js,/src/App.vue。

(1) index.html

1
2
3
4
5
6
7
8
9
10
11
12
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>wj-vue1</title>
</head>
<body>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>

就是一个普普通通的 html 文件,让它不平凡的是 <div id="app"></div> ,下面有一行注释,构建的文件将会被自动注入,也就是说我们编写的其它的内容都将在这个 div 中展示。

还有不普通的一点是,整个项目只有这一个 html 文件,所以这是一个 单页面应用,当我们打开这个应用,表面上可以有很多页面,实际上它们都只不过在一个 div 中。

(2)App.vue

我把这个文件称为“根组件”,因为其它的组件又都包含在这个组件中。

.vue 文件是一种自定义文件类型,在结构上类似 html,一个 .vue 文件即是一个 vue 组件。先看它的初始代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<template>
<div id="app">
<img src="./assets/logo.png">
<router-view/>
</div>
</template>

<script>
export default {
name: 'App'
}
</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>

大家可能注意到了,这里也有一句

,但跟 index.html 里的那个是没有关系的。这个 id=app 只是跟下面的 css 对应。


文章作者: SongX64
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 SongX64 !
  目录