Vue项目化

目录

快速构建项目

一、Vue CLI简介

1.CLI

2.CLI Service

3.CLI插件

二、使用Vue CLI构建项目

1.VueCLI脚手架的安装

2.Vue create命名创建项目

​编辑 3.项目目录

三、插件

四、环境变量


快速构建项目

       Vue CLI是一个基于Vue.js进行快速开发的完整系统,是一组用于快速原型设计、简化
应用程序搭建和进行高效项目管理的工具,确保了各种构建工具能够基于智能的默认配置即可平稳衔接。这样开发者可以专注在撰写应用上,而不必花很多时间处理配置的问题。

一、Vue CLI简介

     Vue CLI是一组用于快速原型设计、简化应用程序搭建和进行高级项目管理的工具。它由三个主要的工具组成。

1.CLI

CLI是一个npm包,通过 Vue. js命令提供核心功能。它可以轻松地构建一个新项目(vacreate)或者快速创建原始构思(Vue serve)。如果想要对项目进行更具体和可视化的控制,可以通过运行Vue ui命令打开CLI的GUI。

2.CLI Service

CLI Service是一个开发依赖项,安装在使用CII创建的每个项目中。它可以帮助开发页目(Vue-cli-service serve)、打包(Vue-cli-service build),以及检查内部Webpack项目的配置(Vue-cli-service inspect)。

3.CLI插件

      CLI插件也是npm包,为项目提供额外的功能。它们的名字以@ Vue/cli-plugin-(内置插件)或Vue-cli-plugin-(社区插件)开头。可以在开发过程中通过Vue add命令添加它们。
      Vue CLI凭借其丰富的功能集,可加速和简化Vue.js项目开发,其主要功能有
     (1)基于插件的架构。Vue CLI完全围绕插件而构建,所以非常灵活和可扩展。可以选择在项目创建过程中添加哪些内置插件,还可以在创建项目后随时添加任意数量的插件。
     (2)Vue CLI完全可配置、可扩展和可升级。 
     (3)提供了一系列官方预装插件,集成了前端生态系统的一流工具(Babel、ESLint、Tpe ManuScript、PWA、Jest、Mocha、Cypress和Nightwatch)。 
     (4)一个默认预设,可以在项目创建期间或之后根据需求进行修改。
     (5)无需弹出。与React和Angular CLI工具相比,可以在创建项目后随时安全地检查和调整项目的Webpack配置,无需弹出应用程序并切换到手动配置。
     (6)多页面支持。
     (7)无需任何配置即可进行即时原型设计。
     (8)现代模式功能。构建适用于现代浏览器的应用程序,同时兼容旧版本的浏览器。
     (9)一个完整的GUI,可轻松创建、更新和管理复杂项目。
     (10)UI插件API。Vue UI公开了一个插件API,可以用它将自定义功能添加到CUI的GUI版本中。

二、使用Vue CLI构建项目

1.VueCLI脚手架的安装

如果已安装了vue-cli(1.x或者2.x),需要进行卸载,卸载命令如下:

npm unistall vue-cli - g 

通过npm全局安装@vlue/cli脚手架命令如下:

npm install @ vue/cli@ 3.10 - g

VueCLI安装成功后,可使用vue-V命令查看当前版本号,如图所示:

接下来可以通过Vue CLI脚手架来创建项目了。

2.Vue create命名创建项目

Vue CLI安装成功后,在命令行窗口中,可以使用Vue create命名来创建项目,该命名会自动生成所需的文件、目录、配置和依赖。例如要创建一个名为 helloworld 的项目,命令如下:

Vue create helloworld

执行 Vue create 命令后,可以看到如图所示界面:

       在这一步,可以通过键盘向上/向下键选择创建项目的方式,default 是默认选择项,表示选用默认方式创建项目,这种方式包含基本的babel 和 eslint 的设置,适合快速构建项目。Manually select features 选项表示选用手动配置方式创建项目,可以选择项目所需要的 npm包。读者可以根据实际需要选择创建项目的方式,在这里,选择手动配置方式创建 helloworld 项目,手动配置界面如图:

在此界面中,可以通过向上/向下箭头选择操作项,按 Space 空格键选择某一项,按"
键进行所有项的反选操作,图5-3中每个选项的作用说明如下。

(1)Babel: JavaScript 语法编译器。
(2)TypeSeript: TypeScript 是一个 JavaScript(后缀.js)的超集(后级.ts)包含并扩展了
JavaScript的语法,需要被编译输出为 JavaScript在浏览器运行。
(3)Progressive Web App (PWA)Support:渐进式 Web 应用程序。
(4)Router:vue-router(vue 路由)。(5)Vuex:vue 的状态管理模式。
(6) CSS Pre-processors:CSS 预处理器(如:less、sass)。

(7)Linter/Formatter:代码风格检查和格式化(如:ESlint)。

(8)Unit Testing:单元测试(unit lests)。

(9)E2E Testing:端对端(end to end)测试。

在此界面选择需要的选项后,后续还有一些详细配置的选项,读者可以根据需要选径也可以全部使用默认项。项目创建成功后,根据界面提示,可以执行如下两项命名,进人项目目录,启动项目:

cd helloworld
npm run serve

启动项目后,可以看到如图所示界面,说明已经启动了一个localhost:8080本地服务

 在浏览器中输入http://localhost:8080地址,看到的页面效果图如下:

 3.项目目录

项目创建成功后,可以看到项目的目录结构如图:

                                          

项目目录结构中,主要的目录和文件说明。

--dist #打包后文件夹
--public #静态文件夹
|--favicon.ico
l-- index.html #入口页面
-- src #源码目录
--assets #模块资源
|--components #vue 公共组件
|--views
—-App.Vue #页面入口文件
host: l--main.js #入口文件,加载公共组件
l--router.js #路由配置
l--store.js #状态管理
I--vue. config.js #配置文件
l--.eslintrc.js #ES-lint 校验
中的 m l--.gitignore #git忽略上传的文件格式
|-babel.config.js #babel语法编译
|--package.json #项目基本信息

三、插件

      Vue CLI使用了一套基于插件的架构,查看前节中创建的helloworld 项目中的
parkage.json,就会发现依赖都是以@ vue/cli-plugin-开头的。插件可以修改 Webpack的内部配置,也可以向 vwe-cli-service 注入命令。在项目创建的过程中,绝大部分列出的特性都是通过插件来实现的,基于插件的架构使得 Vue CLI 灵活且可扩展。helloworld 项目中的 pack-age. json 依赖声明代码如下:

"devDependencies'":{
"@ ue/cli-plugin-babel":^4.5.0",

"@ vue/cli-plugin-eslint":"^4.5.0",

"@ vue/cli-plugin-pwa":"^4.5.0",

"@ vue/cli-service'":"^4.5.0",
"babel-eslint":^10.1.0", 
"eslint":"A6.7.2", 
"eslint-plugin-vue'":^6.2.2", 
"sass'":"^1.26.5", 
"sass-loader'":^8.0.2", 
"yue-template-compiler":"^2.6.11"

}

       在以上依赖声明中,以@vue/cli-plugin-”开头的是内置插件,每个CLI插件都会包会一个生成器和一个运行时插件。当你使用vue create 来创建一个新项目的时候,这些插件会跟据你选择的特性被预安装好。
       如果想在一个已经被创建好的项目中安装一个插件,可以使用vue add 命令,如下列命名是为项目安装 vwe-router 路由插件

vue add router

命令执行成功后,可以在package.json中的依赖声明中找到router插件的声明,如下图:

四、环境变量

       一个软件项目在正式投入运行前,都要经过开发、测试、试运等过程,而每一个环节的
环境不可能完全相同,也就是不同的环境就需要不同的配置参数,环境变量和模式可以很好地解决这个问题。读者可以在项目根目录中放置下列文件来指定环境变量:
(1).env 文件:在所有的环境中被载人。
(2).enr. local1文件:在所有的环境中被载人,但会被 git 忽略。
(3).env.[model]文件:只在指定的模式中被载入。
(4).env. [ mode]. local文件:只在指定的模式中被载人,但会被 git 忽略。

      在env 文件中,只包含环境变量的“键=值”对,例如:

FOO=bar
VUE_APP_NOT_SECRET_CODE=some_value

       这些环境变量都是在项目根目录下建立的,当运行相关命令的时候,会根据不同的环境载人不同的文件,以至于能正确读到文件里的变量。不同的环境文件有不同的优先级别,载
入的优先级别如下所示。

.env. [mode].local >, env. [mode]>.env

      设置完环境变量之后就可以在项目中使用这些变量了。不过还需要注意的是在项目的不同地方使用,限制也不一样。
     (1)在项目中,也就是sre 中使用环境变量的话,必须以 VUE_ APP_ 开头。
     (2)在 Webpack 配置中使用,可以直接通过 process. env. XXX来使用。

  • 23
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值