共计 2121 个字符,预计需要花费 6 分钟才能阅读完成。
1. 前言
记录自己从基础学习 vue 实战,初入发表文章,望各位大佬口下留情!不对之处还请大佬指点一下。
2. 新建,配置项目
1. 新建 Vue-cli3.0 脚手架的项目
在这里普及一下,什么是 Vue-cli?
Vue 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。链接描述
上面引用的链接已经很好说明一切了,这里我就不一一详细说明怎么安装 node.js 和 npm 了,我就说明一下我自己的基础开发流程:
1.1 使用 Vue ui
我使用的是 Vscode 编辑器,可以在编辑器终端使用快捷键Ctrl + ·
,可以快速打开,输入 Vue ui。在加载完后,你自己默认的浏览器自动打开配置界面新建项目。以下是我今天的配置:
- 在详情上新建项目名;选择包管理器,我这里选择是 npm,因为当然是用的比较熟悉了;其余的默认操作;下一步;
- 预设(Presets),默认使用官方提供好的插件和配置,内心感觉不太妙还是谨慎一下手动配置;下一步;
-
功能(Features),手动添加插件:
一.(Babel)
可以把 ES6/ 7 语法兼容或者换成 ES5 更加适合低版浏览器的版本,使开发者无需考虑浏览器的支持问题,随便使用新语法;
二.(Router)
路由,必须滴;
三.(Vuex)
状态管理,大型项目可以提现它的重要性,小项目也是可以用的,反正不亏;
四.(CSS Pre-processors)
css 预处理,可以为 css 添加一些编码的特性;
五.(Linter/Formatter)
编写代码风格提示,及时纠正你的小毛病;
六.(Use config files)
使用配置文件 - 配置(Configuration)选择预处理器,看个人平时习惯,这里我选(Eslint+standard config)
上述配置,回到 Vscode, 终端输入 npm run serve, 就开始你的奇妙之旅了。
3. 项目配置
回到项目的我们可以看一下依赖包,生成好的项目
上面的文件依次是
- 依赖包(node-modules),这就不用多说了吧,安装的依赖都在这里面,有兴趣后面会对里面的源码进行更深层次的解读。
- 公共文件夹(public)里面是 vue 的图标加首页的 html
-
src 目录重头戏 (我一般有以下文件)
1.api
接口文档,与后端进行数据交互;
2.assets
项目资源主要(img)图片、(font)字体等等静态资源存放在这里;
3.components
组件及一些复用组件;
4.config
主要是根据模块系统导出配置对象;
5.directive
自定义指令,可以写自己定义好的函数使用
6.lib
与实战开发相关或者与实战不相关工具函数都在放在这里
7.mock
模拟数据,在没有与后端正式对接的时候,可以模拟数据,方便到时候与后端开发时修改数据传输格式
8.router
路由,跳转路由页面都要在这里注册,后面会讲到把一部分抽离出来,就是权限那一块
9.store
状态管理,vuex 的 state、mutations、actions、getters 等等都在这里,后面会详细介绍
10.views
视图,页面主要展示和组件组合使用的文件
11.App.vue
起始页面,通过路由 <router> 跳转个个页面
12.main.js
全局文件,在这导入的文件可以去全局使用 import - .editorconfig 用来协同不同开发人员、编辑器、代码风格、样式规格化定义和维护一致的编码样式
- .eslintrc.js 语法检测配置
- postcss.config.js 将 px 转化为 rem
- vue.config.js 开发总配置:
// 定义一个方法
const path = require('path')
// 主要是方便导入名简写,这里使用 es6 的箭头函数
const resolve = dir => path.join(__dirname, dir)
// 开发环境配置 '/' 指定域名的根目录下,如果是开发环境写‘/xxxx/’即可
const BASE_URL = process.env.NODE_ENV === 'procution' ? '/xxxx/' : '/'
module.exports = {
// 取消每一次保存编译
lintOnSave: false,
// 项目基本路径
baseUrl: BASE_URL,
// 方便开发的配置
chainWebpack: config => {
// webpack 目录别名配置
config.resolve.alias
// 导入时以 @可以代替 src,拼接路径
.set('@', resolve('src'))
// 上同
.set('_c', resolve('src/components'))
},
// 打包时不生成.map 文件,减少打包文件
productionSourceMap: false,
// 跨域问题
devServer: {proxy: 'http://localhost:4000'}
}
4. 结语
拖了好久没写,第一次自己组织语言有点不好,语言不同通顺的地方望多多指点,就当自己练习。
下一节讲解路由基础,看有没有时间写了,希望给萌新点个赞!
正文完
发表至: javascript
2019-07-22