集Vue+TyleScript+Webpack+...开发的资源流水线(前README.md文案)
Opened this issue · 0 comments
集Vue+TyleScript+Webpack+...开发的资源流水线
Vue+
Vue是东西呢?http://cn.vuejs.org/
从Vue2.0开始吧,之前有用过Vue1.0+。
由尤雨溪开发并维护的前端框架,在这两年2015、2016国内大大被重用和提起。
在国内有些大公司已经引进Vue来处理业务:
UC浏览器、稀土掘金、
滴滴, 还出了一本书 Vue.js 权威指南
饿了么,开源了一个基于Vue的UI库 GitHub - ElemeFE/element: Desktop UI elements for Vue.js 2.0
阿里的 weex GitHub - alibaba/weex: A framework for building Mobile cross-platform UI
GitLab选择了Vue https://about.gitlab.com/2016/10/20/why-we-chose-vue/
荔枝FM,移動端部分使用Vue
B 站的三个项目 (•̀ω•́ 」∠):
圈子:哔哩哔哩兴趣圈,二次元兴趣交友社区
直播(仅首页与活动页):哔哩哔哩直播,二次元弹幕直播平台
周边商城:bilibili-周边商城
上面的信息基本来自知乎》https://www.zhihu.com/question/33264609
更新项目
简书
饿了吗
网易云音乐
知乎日报
Node爬虫接口: https://ecitlm.github.io/SpliderApi/#/
开始Vue
已经在知乎发表了一篇文章 新手向:Vue 2.0 的建议学习顺序
我在这里就加几点:
- 前端基础就不说了,HTML+CSS+JavaScript
- 有过开发插件、模块化(module)、组件、控件
- Node、工程化工具(grunt|gulp|webpack)
- ....
好啦~~~
一般其实呢
最重要的就是会排查错误和查找问题,也要会最新资讯。
npm 和cnpm 的关系
sass、node-sass 在npm install的时候为什么老是错误
翻墙和网络好
哈哈哈,看到下面有人评论:Vue 不难学,难的是配置 Webpack……哈哈。
所以在学前端的时候,还需要学浏览器、 HTTP、数据、网络 ...
更类似的东东
之前很久之前就是JSP,有看过、接触过JSP的同学们都知道
JSP 的语法就是在HTML里加入自定义的东西和加入了动态语言
哦,好吧,我们就说MVC模式,还有MVVM模式............
哎呀,可能早期还会接触到backbone框架的人,或者已经不是很重要了
重要的是接触过angular的人,这一下就会更加很好非常棒地.....
就是很棒,别说了
我想说的就是:
- 分离
- HTML动态解析模板
- 结构化
- 模块化
- 工程化
一步一步来...
Vue 基础
有个Vue社区 http://www.vue-js.com/
2.0中文社区,上面有提到,再来再次给出《Vue 2.0 中文版》
看一下2.0的API:https://vuefe.github.io/api/
组件
vue-router
来,链接在这里:vue-router 2
路由对象和路由匹配
路由对象,即$router会被注入每个组件中,可以利用它进行一些信息的获取。如
属性 | 说明 |
---|---|
$route.path | 当前路由对象的路径,如'/view/a' |
$rotue.params | 关于动态片段(如/user/:username)的键值对信息,如{username: 'paolino'} |
$route.query | 请求参数,如/foo?user=1获取到query.user = 1 |
$route.router | 所属路由器以及所属组件信息 |
$route.matched | 数组,包含当前匹配的路径中所包含的所有片段所对应的配置参数对象。 |
$route.name | 当前路径名字 |
路由选项
路由选项名 | 默认值 | 作用 |
---|---|---|
hashbang | true | 将路径格式化为#!开头 |
history | false | 启用HTML5 history模式,可以使用pushState和replaceState来管理记录 |
abstract | false | 使用一个不依赖于浏览器的浏览历史虚拟管理后端。 |
transitionOnLoad | false | 初次加载是否启用场景切换 |
saveScrollPosition | false | 在启用html5 history模式的时候生效,用于后退操作的时候记住之前的滚动条位置 |
linkActiveClass | "v-link-active" | 链接被点击时候需要添加到v-link元素上的class类,默认为active |
如,我想采用一个有路径格式化并启用Html5 history功能的路由器,则可以在路由器初始化的时候,指定这些参数:
var router = new VueRouter({
hashbang: true,
history: true
});
请暂时参考这篇文章VueJs路由跳转——vue-router的使用
注意项
- 响应路由参数的变化(组件内部跳同一个组件)
- 嵌套路径的 children
- 编程式的导航
1、声明式:router-link :to="..." || 编程式:router.push(...)
这个方法会向 history 栈添加一个新的记录
// 字符串
router.push('home')
// 对象
router.push({ path: 'home' })
// 命名的路由
router.push({ name: 'user', params: { userId: 123 }})
// 带查询参数,变成 /register?plan=private
router.push({ path: 'register', query: { plan: 'private' }})
2、声明式:router-link :to="..." replace || 编程式:router.replace(...)
不会向 history 添加新记录,替换掉当前的 history 记录
3、router.go(n)
// 在浏览器记录中前进一步,等同于 history.forward()
router.go(1)
// 后退一步记录,等同于 history.back()
router.go(-1)
// 前进 3 步记录
router.go(3)
// 如果 history 记录不够用,那就默默地失败呗
router.go(-100)
router.go(100)
4、操作 History
你也许注意到 router.push、 router.replace 和 router.go 跟 window.history.pushState、 window.history.replaceState 和 window.history.go好像, 实际上它们确实是效仿 window.history API 的。 还有值得提及的,vue-router 的导航方法 (push、 replace、 go) 在各类路由模式(history、 hash 和 abstract)下表现一致。
-
命名路由 和 命名视图
命名路由就是在路由加个 name 的标签
命名视图就是在视图加个 name 的标签,可以设置默认值 -
重定向 和 别名
重定向:内部跳转
{ path: '/a', redirect: '/b' }
{ path: '/a', redirect: { name: 'foo' }}
{ path: '/a', redirect: to => {
// 方法接收 目标路由 作为参数
// return 重定向的 字符串路径/路径对象
}}
别名:保持当前路由去访问另一个路由
{ path: '/a', component: A, alias: '/b' }
- HTML5 History 模式
这个给个链接自己去玩 http://router.vuejs.org/zh-cn/essentials/history-mode.html
因为这个比较复杂和需要后台来配合...
-
导航钩子(路由ing锁)
正如其名,vue-router 提供的导航钩子主要用来拦截导航,让它完成跳转或取消。有多种方式可以在路由导航发生时执行钩子:全局的, 单个路由独享的, 或者组件级的。
来来来:http://router.vuejs.org/zh-cn/advanced/navigation-guards.html -
路由元信息 (就是标志过滤处理)
-
过渡动效 ...
-
数据获取
1、导航完成之后获取:先完成导航,然后在接下来的组件生命周期钩子中获取数据。在数据获取期间显示『加载中』之类的指示。
2、导航完成之前获取:导航完成前,在路由的 enter 钩子中获取数据,在数据获取成功后执行导航。 -
滚动行为
注意: 这个功能只在 HTML5 history 模式下可用。 -
路由懒加载
说白了就是模块化加载
结合 Vue 的 异步组件 和 Webpack 的 code splitting feature, 轻松实现路由组件的懒加载。
Vuex 状态管理
登录状态,信息储存、暂存,操作状态。
有空可以去解读源码:http://vuex.vuejs.org/en/index.html
有中文版: https://segmentfault.com/a/1190000007108052
Vue-loading
Vue-resource
动画过渡
http://vuejs.org/guide/transitions.html
项目目录
webpack
Vue-cli 构建工具
npm install -g vue-cli
vue init webpack my-project
还需要一些周边知识
Node+npm Es6 Sass webpack gulp