Vue-CLI(四)

查看所有安装的包:npm list -g --depth 0

拉取 2.x 模板 (旧版本)

Vue CLI >= 3 和旧版使用了相同的 vue 命令,所以 Vue CLI 2 (vue-cli) 被覆盖了。如果你仍然需要使用旧版本的 vue init 功能,你可以全局安装一个桥接工具:npm install -g @vue/cli-init。vue init 的运行效果将会跟 vue-cli@2.x 相同。vue init webpack my-project。此时既可以用CLI2也可以CLI3

node可以直接执行js文件,node是使用C++开发,依赖于Chrome的V8引擎


普通浏览器执行js文件

js----->字节码------>浏览器

Chrome浏览器V8执行js文件

js----->二进制代码

在安装了nodejs的环境下,可以直接使用node命令执行js文件

static下的文件会原封不动的打包到dist中。而src/assets下的文件会被编译。

.gitkeep和.gitignore

package.json中^和~的区别

^2.2.2----->2.x.x
~2.2.2----->2.2.x

即使安装了ES Lint,也可以在config/index.js中通过设置参数将其关闭

runtime+compiler和runtime-only的比较

runtime+compiler:
template—>ast—>render函数—>virtual dom—>真实DOM
runtime-only:
render函数—>virtual dom—>真实DOM


对比可知:
实际上template—>ast—>render函数的过程就是compiler做的事。coderwhy更推荐使用runtime-only。

//h 代表的是 hyperscript。
//它是 HTML 的一部分,表示的是 超文本标记语言:当我们正在处理一个脚本的时候,在虚拟 DOM 节点中去使用它进行替换已成为一种惯例。
//Hyperscript 它本身表示的是 "生成 HTML 结构的脚本"

//使用createElement
render: function (createElement) {
  return createElement(App);
}

//用 h 代替它
render: function (h) {
  return h(App);
}

//ES6简写
render: h => h (App)

createElement的用法

/*
	*param1:标签,String类型
	*param2:标签的属性,对象类型
	*param3:标签的内容,数组类型
*/
//第一种	简单使用
createElement('h2',{class:'box'},['Hello World']);
//第二种	嵌套使用
createElement(
	'h2',
	{class:'box'},
	createElement('h2',{class:'box'},['Hello World'])
);
//第三种	传入组件对象。比如App(import App from ./App.vue)
createElement(App);

自我理解

当template写在.vue文件中,它在被引用的时候是没有template这些代码了的。实际上是被vue-template-compiler给编译了。就不需要template—>ast—>render函数的过程了。只需要runtime-only就够了。

vue-cli3和2的区别

1.cli3是基于webpack4,cli2是基于webpack3。
2.cli3的设置原则是“0配置”,移除了build和config等目录
3.cli提供了vue ui
4.移除了static文件夹,新增了public文件夹,并且index.html移动到了public中

关于this的作用域的问题

前提:this最后指的就是对象,要么是自己定义的对象,要么是window对象。箭头函数没有自己的作用域,他会引用最近的this。就是一层一层网上找,直到找到为止。
方法和函数是不一样的。
方法是依赖于对象存在的。对象的this指的就是本身。
函数(就是function)是有自己的作用域的,就是window。
总结:箭头函数没有作用域。方法的作用域是依托于对象的。而function函数的作用域就是window对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值