Vue脚手架的创建超详解步骤

 更新时间:2024年01月23日 09:37:28   作者:二十多岁想退休  
这篇文章主要给大家介绍了关于Vue脚手架创建的相关资料,Vue脚手架是vue官方提供的标准化开发工具(平台),文中通过代码以及图文介绍的非常详细,需要的朋友可以参考下

vue-cli脚手架

案例一:

案例二:

一、脚手架简介

Vue脚手架是Vue官方提供的标准化开发工具(开发平台),它提供命令行和UI界面,方便创建vue工程、配置第三方依赖、编译vue工程

1. webpack

前端项目工程化的标志之一就是引入了『编译』环节,而 webpack 就是最常见、最常用的前端项目编译工具。

如果作类比的话,那么 npm + webpack ≈ maven

2、脚手架介绍

a、安装vue-cli4

  • 删除已安装的 vue-cli
npm uninstall -g @vue/cli
  • 先安装淘宝镜
npm config set registry https://registry.npm.taobao.org

安装cli

npm install -g @vue/cli

安装结束后,你可以通过 vue --version 或 vue -V 查看 vue-cli 的版本信息

b、配置vue环境变量

把这个路径配到path里

3、创建vue-cli4项目

3.1、第一步

使用如下命令开始创建 vue 项目

vue create 项目名

你会看到如下内容:

  • 第一项和第二项( default ...)表示的是使用默认配置创建 vue 项目。

  • 第三项( Manually ...)表示手动对 vue 项目的各方面进行设置

3.2、第二步

在上一步选中第二项后,你会看到如下界面:

对于每一项的功能,此处做个简单描述:

Babel:支持使用 babel 做转义。
TypeScript:支持使用 TypeScript 书写源码。
Progressive Web App (PWA) Support PWA:支持。
Router:支持 vue-router。
Vuex:支持 vuex。
CSS Pre-processors:支持 CSS 预处理器。
Linter / Formatter:支持代码风格检查和格式化。
Unit Testing:支持单元测试。
E2E Testing: 支持 E2E 测试。

3.3、第三步

选择vue版本为2,不要选3,不要选3

3.4、第四步

如果在功能选择界面中选中了 Router,那么我们接下来会看到如下界面(如果功能界面没有选择 Router,就会跳过这个界面):

在这个界面中,vue-cli 在询问你,对于 Router 你是否以它的 history 模式使用它?默认值是 Yes 。

如果不使用 Router 的 history 模式,那自然就是 hash 模式。这里我们输入 n,表示使用 Router 的 hash 模式。

3.5、第五步

在设置完你所要使用的各个功能的设置之后(例如,上面的 Router 的 history / hash 模式的设置), 我们会看到下面界面:

在这个界面中,vue-cli 是在询问你:是将所有的配置都放在 pacakge.json 一个文件中,还是将各个功能的配置分开存放在独立的文件中?

选择第一项:分开存放。

3.6、第六步

这是 vue-cli 创建 vue 项目的最后一个界面:

在这里,vue-cli 是在询问你:是否将你的这些设置保留下来作为默认的项目设置的模板。默认值是 N 。

我们输入 N ,或者直接按回车确认进入安装界面:

3.7、第七步

在控制台中输入:npm run serve 启动项目

三、项目结构说明

1、项目结构

项目目录说明:

#说明
node_modules 目录项目所依赖的包的存放目录(封装webpack 依赖包)
public 目录存放项目所需的静态资源文件目录
src 目录存放项目的源码文件的目录
babel.config.js 文件babel 配置文件
package.json 文件整个项目的配置文件
src/main.js 文件整个项目的入口文件,并且在这里引入全局使用的 .vue、.css 文件

2、src目录说明

  • assets 静态资源 (css、 js 、 image 、字体图标)

  • views 放置组件页面

  • components 放置组件页面中嵌套的组件

  • App.vue 根组件 => 指定路由出口

    • 脚手架之后,所有的组件都将渲染到 app.vue 中
  • app 中的 #app 还是 index.html 中的 #app, app.vue 中的会覆盖前者,可以通过分别添加 title 属性验证一下

  • 路由出口要写在 app.vue 组件模板中

  • main.js

    • 入口 js 文件

    • 作用 : 创建 vue 实例,导入其他组件并挂在到 vue 实例上

    • Vue.config.productionTip = false 不要打印提示

    • 检测 no new : 见后面的检测警告

      new Vue({
        el: '#app', // 目标显示
        router,   // 挂载路由
        components: { App }, // 注册组件 App
        template: '<App/>' // 模板显示组件 app
      })
      

3、单文件组件

在 vue-cli 创建的 vue 项目中,我们看到有一类后缀名为 .vue 的文件,我们称为『单文件组件』。

单文件组件的组成结构分三部分:

  • template 组件的模板区域
  • script 业务逻辑区域
  • style 样式区域

例如:

<template>
  <!-- 这里用于定义 Vue 组件的模板内容 -->
</template>

<script>
  // 这里用于定义 Vue 组件的业务逻辑
  export default {
    data(){
    	return { // 私有数据
    	
    	} 
    }, 
    methods: {
    
    } // 处理函数
    ,created(){
    
    }
}
</script>

<style scoped>
  /* 这里用于定义组件的样式 */
</style>

4、vue.config.js 文件

默认情况下通过 serve 命令运行项目会占用 8080 端口,在 vue.config.js 的文件加入如下配置修改端口号:

module.exports = {
  devServer: {
    port: 8888
  }
}

四、安装axios包

1、安装axios

安装方式

使用 npm 命令安装
npm install axios

2、vue-cli 中main.js引入并使用 axios

import axios from 'axios'
Vue.prototype.$axios = axios

五、VUE-CLI解决跨域问题

vue-cli 解决开发过程中的跨域问题是利用到了 webpack 在开发环境中所提供的代理服务器(http-proxy-middleware)。

前端的 ajax 请求并不是直接发给后台服务器,而是发给了代理服务器,再由代理服务器转发给后台服务器;返回数据的时候,同样也是由代理服务器接收到后台服务器的返回,然后代理服务器再将返回结果转发给前端。

在vue-cli项目的根目录vue.config.js,添加如下代码

module.exports = {
    transpileDependencies: true,
    devServer: {
    port: 8888,  //vue项目访问端口
      proxy: {
        "/api": { // 1
          target: 'http://127.0.0.1:8080',   // 2
          changeOrigin: true, // 3
          pathRewrite: {
            '^/api': '/' // 4
          }
        }
      }
    }
  }
  • 配置说明
    1、所有以 /api 开头的请求都要求代理服务器进行转发。
    2、要求代理服务器(vue 的 http-proxy-middleware)将我们发给它的请求转发到 xxx 地址,即,真实的后台服务器的根路径。这里需要注意的一点是,这里必须加上 http:// 前缀。
    3、是否是跨域请求?这基本上肯定是废话,不跨域就没有必要配置这个 proxy 了。
    4、代理服务器转发时是否需要改写 URI,以及如何改写。

总结 

到此这篇关于Vue脚手架创建的文章就介绍到这了,更多相关Vue脚手架创建内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • antfu大佬的v-lazy-show教我学会了怎么编译模板指令

    antfu大佬的v-lazy-show教我学会了怎么编译模板指令

    这篇文章主要介绍了antfu大佬的v-lazy-show,我学会了怎么编译模板指令示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • Vue数组的劫持逐步分析讲解

    Vue数组的劫持逐步分析讲解

    小编这次要给大家分享的是如何实现vue2.x数组劫持,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获
    2023-01-01
  • Vue中sync修饰符分析原理及用法示例

    Vue中sync修饰符分析原理及用法示例

    在vue中,子组件如果想修改父组件的变量,一般做法是通过绑定事件的方法,父组件向子组件传递修改变量的方法,子组件触发修改变量的方法执行,这种方式中规中矩;另一种方法是使用sync修饰符,此方法可以减少很多代码量
    2022-08-08
  • vue中filter的应用场景详解

    vue中filter的应用场景详解

    这篇文章主要为大家介绍了vue中filter的应用场景,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-11-11
  • Vue+webpack项目基础配置教程

    Vue+webpack项目基础配置教程

    这篇文章主要介绍了Vue+webpack项目基础配置教程,需要的朋友可以参考下
    2018-02-02
  • Vue导出页面为PDF格式的实现思路

    Vue导出页面为PDF格式的实现思路

    这篇文章主要介绍了Vue导出页面为PDF格式的实现思路,其实思路也很简单,就是将页面转换成图片格式.然后通过图片的base64码.生成PDF..感兴趣的朋友跟随脚本之家小编一起看看吧
    2018-07-07
  • vue单元格多列合并的实现

    vue单元格多列合并的实现

    这篇文章主要介绍了vue单元格多列合并的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • 浅谈Vue网络请求之interceptors实际应用

    浅谈Vue网络请求之interceptors实际应用

    这篇文章主要介绍了浅谈Vue网络请求之interceptors实际应用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • vue-element-admin下载到登录的一些坑

    vue-element-admin下载到登录的一些坑

    本文主要介绍了vue-element-admin下载到登录的一些坑,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • Vue3使用video-player实现视频播放

    Vue3使用video-player实现视频播放

    video-player是一个基于video.js的视频播放器组件,本文主要介绍了Vue3使用video-player实现视频播放,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01

最新评论