Vue项目使用细节

Runtime-compiler和Runtime-only的区别

当我们使用Vue CLI2创建项目的时候,会提示让我们选择使用什么版本的Vue

image-20200613150916847

Runtime + Compiler: recommended for most users(推荐给大多数用户)

Runtime-only: about 6KB lighter min+gzip, but templates (or any Vue-specific HTML) are ONLY allowed in .vue files - render functions are required elsewhere(min+gzip大约轻6KB,但模板(或任何特定于Vue的HTML)只允许在.Vue文件中使用-其他地方需要呈现函数)

为什么Runtime-only要比Runtime-compiler轻6KB呢?我们分别创建这两个版本的Vue项目,查看有什么不同。

经过对比,分析没有什么不同。唯一不同的就是在于main.js文件中

code-snapshot (37)code-snapshot (38)

经过对比可以发现。Runtime-compiler版本是使用Vue实例的template属性将页面渲染到el挂载id为app的标签中,模板将会替换挂载的元素。挂载元素的内容都将被忽略。而Runtime-only是使用render渲染函数将接受到的组件对象渲染到el挂载的元素。

为什么render渲染函数能把渲染页面呢?我们看看Vue程序的运行过程吧~

image-20200613152919735

从图可以看到。template->ast->render(functions)->virtual dom->UI

这也解释了为啥使用render函数Runtime-only版本为啥更轻效率更高了。因为Vue程序的运行过程都要经过render渲染函数进行渲染。而Runtime-only版本省去了将template转换成ast这一过程,所以代码更少体积就比少了,运行时间也就减少了效率也就更高了!

那么为什么.vue文件中的template能被Runtime-only版本的render渲染函数给解析渲染呢?

code-snapshot (39)

这是因为我们上次使用Webpack配置使用Vue文件的时候下载使用了vue-template-compiler。同理Vue CLI想要使用.vue文件也下载了这个模块。通过这个模块,他会将.vue文件中的template转成render函数。所以也就能成功渲染到页面了。

如果在之后的开发中,你依然使用template,就需要选择Runtime-Compiler

如果你之后的开发中,使用的是.vue文件夹开发,那么可以选择Runtime-only

Runtime-Compiler是完整版的Vue,所以也能使用render。而Runtime-only则是精简版的Vue只能使用render。

render函数的使用

基本使用

createElement('标签',{标签的属性(可不传)}。['内容'])

image-20200613160037757

image-20200613160104789

createElement('h2',{class:'box'},['Hello'])在页面中被渲染成了<h2 class='box'>Hello</h2>

嵌套使用

image-20200613160518247

标签的属性可以省略不传,在内容中嵌套使用createElement函数

image-20200613160614333

createElement('h2', {class:'box'}, ['Hello World',createElement('button',['按钮'])])被渲染成<h2 class='box'>Hello World <button><按钮/button></h2>

组件对象

Demo.vue

image-20200613161114341

image-20200613161158426

image-20200613161226066

把组件对象渲染到了el挂载的元素

code-snapshot (38)

这也就是为啥能这样使用的原因了。h=>h(App)是使用了箭头函数将其还原也就是

code-snapshot (40)

h是形参名。代表着createElement函数

code-snapshot (41)

Vue Cli4创建的Runtime-only版的Vue项目

通过Vue CLI4(3)创建的Runtime-only版本的Vue项目的main.js又发生了点变化

code-snapshot (42)

可以发现此时代码中少了el属性选项,而多了个Vue实例方法$mount这又是什么意思呢?

image-20200613162250641

如果 Vue 实例在实例化时没有收到 el 选项,则它处于“未挂载”状态,没有关联的 DOM 元素。可以使用 vm.$mount() 手动地挂载一个未挂载的实例。也就是说 m o u n t ( ) 方 法 的 参 数 是 一 个 选 择 器 , mount()方法的参数是一个选择器, mount()mount(’#app’)是将id为appDOM元素挂载到我们的Vue实例中,效果和el一样

ESLint规范

当我们使用Vue CLI创建项目是,如果选择了ESLint规范,就会对我们的代码进行检查。

image-20200613163223752

image-20200613163406159

不符合规范的则会提示报错。例如函数名与括号必须要有空格

image-20200613163512207

image-20200613163744572

我们只写一短短的代码就报了3个错误。这是非常烦人的…所以我们最好不要选择ESLint规范,但是代码也要报持一定的规范。

但是如果不小心选择了能不能关闭呢?答案是可以的。在Vue CLI2创建的项目中我们找到config目录下的index.js文件,找到useEslint将值设置为fasle即可关闭

image-20200613164118118

Vue CLI3/4创建的项目把.eslintrc.js文件中的'@vue/standard'删除即可

image-20200613164538576

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要部署Vue项目,首先需要确保电脑上安装了Node.jsVue CLI。如果没有安装,可以在官方网站下载和安装。 1. 打开命令行工具,进入Vue项目的根目录。 2. 执行命令`npm install`,将会安装项目所需的依赖项。等待安装完成。 3. 接下来,执行命令`npm run build`,这将会编译Vue项目并生成一个用于部署的静态文件夹(默认是"dist")。 4. 将生成的静态文件夹("dist"文件夹)复制到服务器上。可以使用FTP工具或其他方式进行文件传输。 5. 服务器端需要配置一些基本的设置,确保能够正确访问到Vue项目。比如,如果使用Apache服务器,可以添加一个虚拟主机配置,将指向Vue项目的请求导向静态文件夹。 6. 确保服务器上安装了Node.js环境,因为基于Vue项目通常需要Express等服务器端框架。 7. 在服务器上运行命令`npm install`,安装项目的依赖项。 8. 运行命令`npm run start`,以启动服务器。 9. 访问服务器的域名或IP地址,就可以在浏览器中看到部署好的Vue项目了。 需要注意的是,部署Vue项目可能还涉及到一些其他的细节,比如服务器端的一些配置项,开启gzip压缩,设置缓存等。具体的部署步骤和配置会因服务器环境而有所不同,可以根据情况进行调整。 ### 回答2: 要在Tongweb上部署Vue项目,我们可以按照以下步骤进行: 1. 首先,确保你已经安装了Node.js和npm(Node.js的包管理工具)。 2. 在本地开发环境中,使用Vue CLI创建一个新的Vue项目。你可以运行命令`vue create my-project`,然后按照向导选择所需的配置。 3. 完成项目创建后,进入项目目录,运行`npm run build`命令来构建Vue项目。这将生成一个dist目录,其中包含了打包好的静态文件。 4. 将dist目录下的文件复制到Tongweb的静态资源目录中(通常是public或者static目录)。你可以使用FTP、SCP或者其他文件传输工具进行文件复制。 5. 在Tongweb上配置反向代理,将对应的请求路由到Vue项目的静态资源。你可以编辑Tongweb的配置文件,添加类似下面的配置: ``` location / { proxy_pass http://localhost:8080; } ``` 这里假设Vue项目运行在本地的8080端口上,你可以根据实际情况进行修改。 6. 保存配置文件,并重启Tongweb服务器,使配置生效。 7. 现在,你可以通过Tongweb服务器的域名或者IP地址访问你的Vue项目了。 通过以上步骤,就可以在Tongweb上成功部署Vue项目了。记得要定期更新静态文件,以保持项目的最新状态。另外,根据具体的需求,你可能还需要配置Tongweb的其他功能,例如SSL证书、缓存等。 ### 回答3: 要部署tongweb的Vue项目,首先需要确保已经安装了Node.jsVue CLI工具。接下来,可以按照以下步骤进行部署: 1. 在服务器上或者本地创建一个用于部署的文件夹,并在终端中导航到该文件夹。 2. 使用以下命令克隆Vue项目的代码库到当前文件夹中: ``` git clone [项目代码库的URL] ``` 3. 进入项目文件夹: ``` cd [项目文件夹名] ``` 4. 在终端中安装项目所需的依赖: ``` npm install ``` 5. 构建Vue项目: ``` npm run build ``` 这将生成一个用于部署的dist文件夹,其中包含了已打包好的静态文件。 6. 配置服务器。 - 如果使用的是Nginx服务器,可以在配置文件中设置根目录为Vue项目的dist文件夹,并将其绑定到指定的域名或IP地址上。 - 如果使用其他类型的服务器,需要将dist文件夹中的静态文件复制到服务器上的指定目录。 7. 启动服务器: - 如果使用的是Nginx服务器,需要启动Nginx服务使其生效。 - 如果使用其他类型的服务器,按照服务器的设置方式启动服务。 8. 尝试从浏览器中访问Vue项目的域名或IP地址,应该可以看到部署成功的Vue应用程序。 通过按照上述步骤进行操作,就可以成功部署tongweb的Vue项目。请注意,这只是一个基本的部署过程,具体步骤可能因实际情况而有所变化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值