03 Vue脚手架
创始人
2024-04-03 19:36:09
0

1 安装

配置npm的源为淘宝源:

 安装命令:

npm install -g @vue/cli
# OR
yarn global add @vue/cli#检查
vue --version
@vue/cli 5.0.8

升级

npm update -g @vue/cli# 或者
yarn global upgrade --latest @vue/cli

2、创建项目

vue create learn-one选择vue2或者3 #完成
🎉  Successfully created project learn-one.
👉  Get started with the following commands:$ cd learn-one$ npm run serve

启动项目

#执行$ cd learn-one$ npm run serve#输出DONE  Compiled successfully in 3904ms                                                      App running at:- Local:   http://localhost:8080/ - Network: http://10.91.81.99:8080/Note that the development build is not optimized.To create a production build, run npm run build.

访问:http://localhost:8080/

 脚手架启动OK;

3、脚手架目录分析

 package.json  npm脚本命令

 package-lock.json 锁定包的依赖

 src下的

main.js 是运行npm run serve最先开始执行的文件,是vue的一切的开始

/*** 项目的入口文件*/
//导入vue
import Vue from 'vue'
//导入App组件
import App from './App.vue'
//关闭vue的生产提示
Vue.config.productionTip = falsenew Vue({//将app组件放入容器中//引入的vue是不能配置模板的,引入vue是精简版本vue.runtime.esm.js,不包含模板解析器render: h => h(App),
}).$mount('#app')

app.vue是的app组件,是所有组件的父组件;

pubilc下的index.html是网页的容器:





favicon.ico">
<%= htmlWebpackPlugin.options.title %>

分析:main.js 中: render:  h=>h(App)

改写为熟悉的写法:

new Vue({el:"#root",template: ``,comments: {App}
})

运行发现不会出现页面:报错

[Vue warn]: You are using the runtime-only build of Vue where 
the template compiler is not available. Either pre-compile 
the templates into render functions, or use the compiler-included build.

因为这种方式引入的vue不是完整的vue,不包含模板解析器,所以报错了:

import Vue from 'vue'
引入vue是精简版本vue.runtime.esm.js,不包含模板解析器

 通过render函数,render默认被vue框架调用,引入的一个完整的vue.js,

通过render可以创建具体的元素;

import Vue from 'vue'
// import App from './App.vue'Vue.config.productionTip = false// new Vue({
//   render: h => h(App),
// }).$mount('#app')new Vue({el:"#app",render(createElement) {console.log('render,创建元素')return createElement('h1','你好啊')},// template: ``,// comments: {App}
})

所以 render: h => h(App)  实际上类似:  template: ``,  官方 通过render这种方式可以引入完整版本的vue.js 包含模板解析;为什么呢?

开发的时候需要模板解析器,模板解析器占用vue的1/3代码, 最后打包的时候不需要vue的解析器,所以官网设计了很多精简版本的js。框架通过了render的方式引入完整vue。

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
苏州离哪个飞机场近(苏州离哪个... 本篇文章极速百科小编给大家谈谈苏州离哪个飞机场近,以及苏州离哪个飞机场近点对应的知识点,希望对各位有...