新手小白VUE整理(4) ——vue-cli

VUE 2.X

1.什么是vue-cli

vue-cli是Vue.js开发的标准工具.它简化了程序猿基于webpack创建工程化Vue项目的过程.

2.安装和使用

vue-cli是npm上的一个全局包,使用npm install命令,即可方便的把它安装到自己的电脑上:
npm i -g @vue/cli
基于vue-cli快速生成工程化的Vue项目:
vue create 项目的名称

3.安装步骤示例

  • 选择一个文件夹,打开终端,输入vue create demo-first
  • 进入vue项目安装选择界面
  • 刚开始创建vue-cli,选择Manually select features,按下enter
  • 根据需要,暂时只选择Babel和Css Pre-processors,按下enter
  • 选择vue版本,根据需要选择2.x或者3.x,这里选择2.x,按下enter
  • 选择Css Pre-processors插件,这里根据需要只选择Less,按下enter
  • 选择Babel,EsLint等插件的配置文件存放位置,这里选择In dedicated config files(插件的配置文件,放在各自独立的文件中),按下enter
  • 等待自动生成项目
  • 运行项目

4.vue项目中src目录构成:

  • assets文件夹:存放项目中用到的静态资源,比如:css样式表,图片资源等
  • components文件夹:程序猿封装的,可复用的组件,都要放到components文件夹中
  • main.js:是项目的入口文件,整个项目的运行,要先执行main.js,相当于webpack项目中的index.js
  • App.vue:项目的根组件,是vue项目的首加载组件,页面的入口文件,所有页面都是在App.vue下进行切换的;也是整个项目的关键,app.vue负责构建定义及页面组件归集。

5.vue项目的运行流程

在工程化的项目中,vue要做的事情很单纯:通过main.js把App.vue渲染到index.html指定的区域中,其中:

  • App.vue用来编写待渲染的模板结构
  • index.html中需要预留一个el区域
  • main.js把App.vue渲染到了index.html所预留的区域中

6.vue组件

1)什么是组件化开发?

组件化开发是指:根据封装的思想,把页面上可重用的UI结构封装为组件,从而方便项目的维护和开发

2)vue中的组件化开发

  • vue是一个支持组件化开发的前端框架
  • vue中规定:组件的后缀名是.vue,之前接触到的App.vue文件本质上就是一个vue组件
    3).vue文件三个组成部分
    每个.vue组件都有3部分构成,分别是:
  • template:组件的模板
  • script:组件的js行为
  • style:组件的样式
其中:script写法,默认导出,固定写法.
export default {
	data(){
		// 一个组件的 data 选项必须是一个函数,因此每个实例可以维护一份被返回对象的独立的拷贝
		return {
			username:''
		}
	},
	methods:{
		changeName(){
		    // 组件中的this指当前组件实例,VueComponent
			console.log(this)
		}
	}
}

3)组件中启用less语法

给stye标签添加lang='less’属性

<style lang='less'>
	
</style>

7.关于render函数

  • 主要作用:将.vue组件渲染成真实的DOM元素呈现到页面上
  • render函数基本了解:
通过vue-cli生成的render函数如下:
new Vue({
// 这里是使用箭头函数的简写形式
  render: h => h(App),
  // 全写形式
  render:function(createElement){
  // 这里的参数可以是:String(组件名)或者Object(组件对象,比如上面App)
  	return createElement(参数)
 }
}).$mount('#app')

更深入了解,可参考官网,可参考:https://cn.vuejs.org/guide/extras/rendering-mechanism.html或https://blog.csdn.net/weixin_45844049/article/details/114277643

8.关于$mount和el

vue中$mount和el作用完全相同,都是用表明vue实例将挂载到哪个html标签上面,大致区别是$mount是vue实例方法,el则是构造函数属性配置项
用法:
new Vue({}).$mount("#app").
new Vue({
	el:"#app"
})
不过对比而言,$mount会更加灵活点,如果所挂载区域是动态生成的,显然,此时只能用$mount.比如这样一段代码:
<script>
 let div =  document.createElement("div")
 div.id = 'test';
 div.innerText = '我是动态生成html, {{ username }}'
 document.getElementsByTagName("body")[0].append(div);
 new Vue({
  data:{
    username:'zs'
  }
 }).$mount("#test");
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

crazy程序猿丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值