Comparing version 2.13.3 to 2.13.4-0
{ | ||
"name": "ralltiir", | ||
"version": "2.13.3", | ||
"version": "2.13.4-0", | ||
"discription": "前端极速浏览框架,目标是提升用户体验,提供沉浸式浏览方式。", | ||
@@ -5,0 +5,0 @@ "scripts": { |
@@ -9,5 +9,10 @@ # Ralltiir | ||
## 简介 | ||
Ralltiir 前端极速浏览框架,是一种前端异步单页技术。 | ||
点击超链接或浏览器跳转时,异步地获取数据并将内容展现给用户。 | ||
以此来减少用户等待时间,以及提高页面渲染速度。Ralltiir 主要特性如下: | ||
以此来减少用户等待时间,以及提高页面渲染速度。 | ||
Ralltiir的核心理念是让页面间的跳转变得更流畅、平滑且有交互感。 | ||
Ralltiir 主要特性如下: | ||
@@ -19,73 +24,46 @@ * 更快的页面加速 | ||
## 安装 | ||
## 整体架构 | ||
推荐通过 APM 安装和使用 ralltiir。 | ||
Ralltiir 是由一系列技术构成的解决方案,为了最大限度地灵活和通用。 | ||
```bash | ||
# 安装 apm | ||
npm install -g apmjs | ||
# 安装 ralltiir | ||
apmjs install --save ralltiir | ||
``` | ||
Ralltiir 采取分层设计,产品方可通过编写 Service 来控制具体的页面入场、渲染和退场行为。 | ||
## 整体架构 | ||
Ralltiir 整体架构中包括低层的AMD环境、 Ralltiir框架核心。 | ||
Ralltiir 是由一系列技术构成的解决方案,为了最大限度地灵活和通用 | ||
Ralltiir 采取分层设计,产品方可通过编写 Service 来控制具体的页面入场、渲染和退场行为。 | ||
Ralltiir 整体架构中包括低层的 AMD 环境、 Ralltiir 框架核心。 | ||
## Ralltiir 技术原理 | ||
Ralltiir的路由主要实现 | ||
## 开发指南 | ||
1、注册Service到URL | ||
有 Node.js 环境后,使用 npm 安装所有依赖: | ||
2、监听URL的变化:通过监听浏览器的popstate,劫持超链接点击实现。 | ||
```bash | ||
npm install | ||
``` | ||
3、当URL变化时,根据已注册配置,创建Service并完成新旧Service的切换。 | ||
完成开发后确保可以通过 Lint 和单元测试可以通过: | ||
```bash | ||
npm run lint | ||
npm run test | ||
``` | ||
<br> | ||
Ralltiir也提供了一些其他可选用的解决方案,如: | ||
使用 NPM version 发布到 npm 和 Github,例如发布一个 patch 版本: | ||
1、Partical Update 复用view机制进行局部更新(不产生历史) | ||
```bash | ||
npm version patch | ||
npm publish | ||
``` | ||
2、Performance 性能监控 | ||
## 文档部署 | ||
3、Transition 动画 | ||
首先安装 gitbook 依赖: | ||
```bash | ||
npm run doc:install | ||
``` | ||
## 安装 | ||
本地预览文档: | ||
推荐通过 APM 安装和使用 ralltiir。 | ||
```bash | ||
npm run doc:preview | ||
# 安装 apm | ||
npm install -g apmjs | ||
# 安装 ralltiir | ||
apmjs install --save ralltiir | ||
``` | ||
部署到 <ralltiir.github.io/ralltiir>: | ||
## 使用Superframe技术 | ||
```bash | ||
npm run doc:deploy | ||
``` | ||
你可以从编写Service开始,创造出支持任何需求的基于Ralltiir的SPA应用,你可以在[Ralltiir 教程](https://ralltiir.github.io/ralltiir/)获得支持。 | ||
## Roadmap | ||
- [x] Assert 抽离 | ||
- [x] Promise 抽离 | ||
- [ ] Set-Immediate 抽离(文档、CI) | ||
- [ ] http 抽离(文档、CI) | ||
- [ ] cache 抽离(文档、CI) | ||
- [ ] emitter 抽离(文档、CI) | ||
- [ ] URL 抽离(文档、CI) | ||
- [ ] Stream 抽离(文档、CI) | ||
- [ ] lodash-mobile 抽离(文档、CI) | ||
但是当您的产品业务希望使用Ralltiir技术,却又没有深度定制的需求的时候,也可以采用我们提供的 [Ralltiir Application](https://ralltiir.github.io/ralltiir-application/)的集成方案快速实现,Ralltiir Application已经实现了一个常见的SPA容器页及页面过渡效果。 |
@@ -236,2 +236,3 @@ /** | ||
* @param {Object} data extended data being passed to `current.options` | ||
* @param {Object} data.service reuseed service instance | ||
* */ | ||
@@ -247,2 +248,5 @@ exports.redirect = function (url, query, options, data) { | ||
url = resolveUrl(url); | ||
useService(url, _.get(data, 'service')); | ||
_.assign(stageData, data); | ||
@@ -269,2 +273,7 @@ options = _.assign({}, options, { | ||
// 透传service实例, 并存储至 url2id | ||
function useService(url, service) { | ||
service && services.setInstance(router.createURL(url).toString(), service); | ||
} | ||
function resolveUrl(url) { | ||
@@ -329,2 +338,4 @@ var urlObj = URL.parse(url); | ||
useService(url, _.get(data, 'service')); | ||
if (isIndexPage) { | ||
@@ -331,0 +342,0 @@ indexPageUrl = url; |
@@ -33,3 +33,4 @@ /** | ||
copyServiceMapping: copyServiceMapping, | ||
urlEntries: null | ||
urlEntries: null, | ||
setInstance: setInstance | ||
}; | ||
@@ -156,4 +157,18 @@ var id = 0; | ||
/** | ||
* 设置url对应service关系 | ||
* @param {string} url url | ||
* @param {object} service service实例 | ||
*/ | ||
function setInstance(url, instance) { | ||
if (instance.id !== undefined) { | ||
url2id.set(url, instance.id); | ||
} | ||
else { | ||
addInstance(url, instance); | ||
} | ||
} | ||
return exports; | ||
}; | ||
}); |
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
125369
3941
1
68
1