Vue-cli搭建SPA项目

前言

Vue CLI(Vue Command Line Interface)是一个用于快速搭建基于Vue.js的前端项目的工具。它是Vue.js官方提供的一个脚手架工具,旨在简化Vue.js项目的开发过程。Vue CLI提供了一些强大的功能,帮助开发者轻松创建、开发和构建Vue.js应用程序

Vue CLI的主要特点和功能:

  1. 快速创建项目: Vue CLI允许开发者通过命令行轻松创建新的Vue.js项目,包括配置文件、目录结构和一些默认的依赖项。

  2. 开发服务器: Vue CLI集成了一个开发服务器,可以在开发过程中实时预览应用程序的变化。这意味着你可以在开发过程中立即看到你的修改,无需手动刷新浏览器。

  3. 插件系统: Vue CLI支持插件系统,可以通过插件扩展项目的功能。这使得集成各种工具和库变得更加容易,例如添加路由管理、状态管理或国际化等。

  4. 配置文件: Vue CLI提供了一个配置文件(vue.config.js),允许你对构建和开发过程进行高度定制。你可以在配置文件中设置构建选项、代理、自定义Webpack配置等。

  5. Vue CLI UI: 除了命令行界面,Vue CLI还提供了一个图形用户界面(Vue CLI UI),使得配置和管理项目变得更加直观和用户友好。

  6. 内置构建工具: Vue CLI集成了现代的前端构建工具,如Webpack和Babel,以便优化和打包你的应用程序,以便在生产环境中使用。

总之,Vue CLI是一个强大的工具,可帮助开发者更轻松地创建、开发和部署Vue.js应用程序。它使得Vue.js项目的管理和配置变得更加简单,用于自动生成vue.js+webpack的项目模板

一.环境搭建

1.首先安装vue-cli

在cmd窗口中输入以下命令

npm install -g vue-cli

验证是否安装成功

安装完成之后打开命令窗口并输入 vue -V(注意这里是大写的"V"),如果出现相应的版本号,则说明安装成功

2.使用脚手架创建项目骨架

(1)进入要创建项目的目录

cmd命令:cd 项目路径

或者是直接在要创建的目录的地址栏输入cmd命令直接进入

(2)cmd窗口输入命令创建项目

vue init webpack 项目名

cmd命令行窗口显示中文乱码,多是因为cmd命令行窗口字符编码不匹配导致

修改cmd窗口字符编码为UTF-8,命令行中执行:chcp 65001

切换回中文:chcp 936

这两条命令只在当前窗口生效,重启后恢复之前的编码

(3)一问一答模式

1.Project name:项目名,默认是输入时的那个名称spa1,直接回车

2.Project description:项目描述,直接回车

3.Author:作者,随便填或直接回车

4.Vue build:选择题,一般选第一个

4.1Runtime + Compiler: recommended for most users//运行加编译,官方推荐,就选它了

4.2Runtime-only: about 6KB lighter min+gzip, but templates (or any Vue-specific HTML) are ONLY allowed in .vue files

  • render functions are required elsewhere//仅运行时,已经有推荐了就选择第一个了

5.Install vue-router:是否需要vue-router,Y选择使用,这样生成好的项目就会有相关的路由配置文件

6.Use ESLint to lint your code:是否用ESLint来限制你的代码错误和风格。N 新手就不用了,但实际项目中一般都会使用,这样多人开发也能达到一致的语法

7.Set up unit tests:是否安装单元测试 N

8.Setup e2e tests with Nightwatch?:是否安装e2e测试 N

9.Should we run `npm install` for you after the project has been created? (recommended) (Use arrow keys)

> Yes, use NPM

Yes, use Yarn

No, I will handle that myself //选择题:选第一项"Yes, use NPM"是否使用npm install安装依赖

全部选择好回车就进行了生成项目,出现如下内容表示项目创建完成

当出现以下界面才能说明安装成功了

(4)启动项目

cd 刚刚创建的项目名

然后输入以下命令启动项目

npm run dev

出现以上界面说明创建成功

通过浏览器访问地址

二. spa项目入门

1.vue项目结构说明

build文件夹: 这个文件夹主要是进行webpack的一些配置

|----------------------|--------------------------|
| webpack.base.conf.js | webpack基础配置,开发环境,生产环境都依赖 |
| webpack.dev.conf.js | webpack开发环境配置 |
| webpack.prod.conf.js | webpack生产环境配置 |
| build.js | 生产环境构建脚本 |
| vue-loader.conf.js | 此文件是处理.vue文件的配置文件 |

config文件夹

|-------------|-------------------------|
| dev.env.js | 配置开发环境 |
| prod.env.js | 配置生产环境 |
| index.js | 这个文件进行配置代理服务器,例如:端口号的修改 |

node_modules文件夹 :存放npm install时根据package.json配置生成的npm安装包的文件夹

src文件夹:源码目录(开发中用得最多的文件夹)

|--------------|--------------------------------------------------------------------------------------------|
| assets | 共用的样式、图片 |
| components | 业务代码存放的地方,里面分成一个个组件存放,一个页面是一个组件,一个页面里面还会包着很多组件 |
| router | 设置路由 |
| App.vue | vue文件入口界面 |
| main.js | 对应App.vue创建vue实例,也是入口文件,对应webpack.base.config.js里的入口配置 |
| static文件夹 | 存放的文件不会经过webpack处理,可以直接引用,例如swf文件如果要引用可以在webpack配置对swf后缀名的文件处理的loader,也可以直接将swf文件放在这个文件夹引用 |
| package.json | 这个文件有两部分是有用的:scripts 里面设置命令以及在dependencies和devDependencies中,分别对应全局下载和局部下载的依赖包 |

2. 什么是*.vue文件

*.vue 文件,是一个自定义的文件类型,用类似HTML的语法描述一个Vue组件。

每个.vue文件包含三种类型的顶级语言块 <template>, <script> 和 <style>。

这三个部分分别代表了 html,js,css。

注1:不能直接把html代码包裹在<template></template>中,而是必须在里面方置一个html标签来包裹所有的代码

一般情况是使用<div></div>标签包含其它的代码(保证只有一个根元素)

<template>

<div>...</div>

</template>

注2:js代码写在<script>标签中,并通过export导出

<script>

export default {

name: 'App'

}

</script>

3.嵌套路由案例演示

3.1定义基本路由

(1)模板文件

html 复制代码
<router-link to="/Home">首页</router-link>
<router-link to="/About">关于</router-link>

(2)路由

在主路由中

javascript 复制代码
{
      path: '/Home',
      name: 'Home',
      component: Home
    },
    {
      path: '/About',
      name: 'About',
      component: About
    },

3.2 定义子路由

在当前主路由中配置子路由

javascript 复制代码
{
      path: '/About',
      name: 'About',
      component: About,
      children:[
        {
          {
            path: '/AboutMe',
            name: 'AboutMe',
            component: AboutMe
          },
          {
            path: '/AboutWebsite',
            name: 'AboutWebsite',
            component: AboutWebsite
          },
        }
      ]
    },

3.3分别定义两个子路由的模板文件

html 复制代码
<template>
  <div>
    关于本站介绍内容
  </div>
</template>

<script>
  export default {
    name: 'AboutWebsite',
    data () {
      return {
        msg: 'Welcome to Your Vue.js App'
      }
    }
  }
</script>
html 复制代码
<template>
  <div>
    关于站长
  </div>
</template>

<script>
  export default {
    name: 'AboutMe',
    data () {
      return {
        msg: 'Welcome to Your Vue.js App'
      }
    }
  }
</script>

3.4在主路由中挂载内容

html 复制代码
<template>
  <div>
    <router-link to="/AboutMe">关于本站</router-link>
    <router-link to="/AboutWebsite">关于站长</router-link>
    <router-view></router-view>
  </div>
</template>

测试效果

今天的分享到这里就结束了,感谢各位大大的观看,各位大大的三连是博主更新的动力,感谢谢谢谢谢谢谢谢谢各位的支持!!!!!

相关推荐
m0_748247552 小时前
Web 应用项目开发全流程解析与实战经验分享
开发语言·前端·php
m0_748255022 小时前
前端常用算法集合
前端·算法
真的很上进3 小时前
如何借助 Babel+TS+ESLint 构建现代 JS 工程环境?
java·前端·javascript·css·react.js·vue·html
web130933203983 小时前
vue elementUI form组件动态添加el-form-item并且动态添加rules必填项校验方法
前端·vue.js·elementui
NiNg_1_2343 小时前
Echarts连接数据库,实时绘制图表详解
前端·数据库·echarts
如若1234 小时前
对文件内的文件名生成目录,方便查阅
java·前端·python
滚雪球~5 小时前
npm error code ETIMEDOUT
前端·npm·node.js
沙漏无语5 小时前
npm : 无法加载文件 D:\Nodejs\node_global\npm.ps1,因为在此系统上禁止运行脚本
前端·npm·node.js
supermapsupport5 小时前
iClient3D for Cesium在Vue中快速实现场景卷帘
前端·vue.js·3d·cesium·supermap
brrdg_sefg5 小时前
WEB 漏洞 - 文件包含漏洞深度解析
前端·网络·安全