vue脚手架结构(Vue的架构以及基于脚手架环境开发vue项目)
MVVM架构
M:model 模型层(业务逻辑层) ,主要包含 JS 代码 ,用于管理业务逻辑的实现 。
V:View 视图层,主要包括 HTML / CSS代码 ,用于管理 UI 的展示 。
VM:viewModel (视图模型层) ,用于将data与视图层的 DOM 进行动态绑定 。
基于脚手架环境开发Vue项目
制作web 从小作坊状态转向工程化开发的状态就需要了解vue脚手架环境 。脚手架开发环境将会提供一套开发标准便于工程化快速发展 。
1 、node版本:12~16版本
检查 node 版本命令: node-v
安装node.js 官网:Download | Node.js
2 、npm , 包管理工具 ,需要配置仓库镜像地址 ,改为中国仓库镜像地址 。
查看当前镜像地址: npm get registry
国外旧的镜像地址(https://registry.npmjs.org/)不推荐使用 ,下载速度慢 。
设置镜像地址的命令:npm set registry https://registry.npmmirror.com/
基于npm命令 ,全局安装脚手架工具 ,这样就可以通过该工具创建vue项目 。
npm i -g @vue/cli
npm install -g @vue/cli
如果是mac系统:则需要提权
sudo npm i -g @vue/cli #输入密码即可
安装成功:
只要没有红色 erro出现 ,就是安装成功 。
查看版本命令: vue --version
至此,便可以通过vue命令生产项目包。
3、生成项目包
安装脚手架 ,可以通过vue命令创建完整的项目包 ,该项目包中将会自动创建所需要的基本资源以及基础目录结构 。
注意:
1. 在哪一个文件夹中执行 vue 命令创建项目,生成的项目就会出现在哪一个文件夹中 。
2. 创建项目所在文件夹目录不要有中文和特殊字符。
3. 创建项目的目录中 ,不要有 vue.js 。
当前脚手架项目已经创建完毕 。该脚手架项目内部自带一个web服务器 ,在 vue-pro 文件夹目录下输入cmd ,输入命令 npm run serve。
这条命令 ,将会加载当前目录下的 package.json ,根据相关配置 ,启动web服务器 ,启动成功后 ,将会占用8080端口 ,打开浏览器 ,访问地址:
http:// localhost :8080
即可看到脚手架为我们创建的首页 。
脚手架项目包的使用
项目包中已经设计好相关的目录结构 ,推荐使用单独的vscode窗口来打开该项目 ,
安装插件 。
脚手架项目的基础目录结构:
打开src:
当脚手架启动时,将会打开 public/index.html ,并且在该网页中运行 main.js ,将会创建 Vue 对象,通过 Vue 对象来管理 index.html 中的 #app 内容的显示 。初始化状态下 ,默认将 App.vue 组件中的内容渲染到 #app 中 ,从而看到页面效果 。 所以要研究 .vue 文件的写法即可搞定各种在脚手架中开发 vue 项目的细节 。
template 部分用于定义当前组件的页面结构 。定义的这些页面结构,最终将会被挂载在 #app 中 。注意: template 中的内容有且仅有一个根元素 。 script 部分用于定义当前组件的 js 脚本 。通过 ES6 的 export default 语法将当前组件中定义的 js 对象导 出到外部供 vue 进行后续处理。 style 部分用于定义当前组件中标签的 css 样式 。
<style lang = "scss" scoped> <style>
lang : 语言 需要在创建项目时选择 css pre-processors ,此处才可用 。
scoped :作用域。含有该属性的style中定义的 css 样式 ,仅仅当前组件生效 。
Vue常用指令
1. v-show 控制组件的显示与隐藏
2. v-on 绑定事件
3. v-bind 动态绑定属性
4. v-text 为元素设置内容文本 。
类似 dom.innerText 。
5. v-html 将文本当做 html 代码解析后显示在元素中 。
6. v-pre 不会将 {{}} 当做 vue 语法进行解析 。
7. v-for 循环输出当前元素 。
v-for 的使用
v-for 用于循环输出当前元素:
<p v-for = "n in 10"> 文本... 文本 {{ n }} {{ n }} {{ n }} </p>
上述代码约等于:
for(n=1; n<=10; n++){
随意的使用n变量
dom.append(`<p> 文本...文本...${n}</p>`)
}
还可以在遍历的过程中 ,同时访问数组中的元素与元素对应的下标:
<p class="item" v-for="(m,i) in movies" :key="i">{{m}}</p>
上述代码约等于:
for(i=0; i<movies.length; i++){
let m = movies[i]
dom.append(`<p>${m}</p>`)
}
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!