QAP内建包迁移教程

前言

最新千牛客户端内置了最新版本的NukeUI和QAP-SDK, 开发者可以不再打包相关的代码,经测试内建包可以大幅降低QAP package包的大小,体积最大可减少75%~80%的大小。推荐旧的QAP包升级。

升级过程

安装最新的qap-cli

执行以下shell脚本

## cnpm install qap-cli@beta -g   更正: 新的qap-cli已经支持,请使用如下命令安装

cnpm install qap-cli -g

当前版本还为beta,所以需要增加@beta安装

安装rax-webpack-plugin

在旧项目下目录下执行以下脚本

cnpm install rax-webpack-plugin --save

替换修改 RxPlugin的引用

  • 在webpack.config.js文件里找到以下代码

var RxPlugin = require('weex-rx-webpack-plugin');
修改为以下代码
var RxPlugin = require('rax-webpack-plugin');

  • 找到在new RxPlugin()的地方

修改为如下:

new RxPlugin({
    target: 'bundle'
})

修改.bablerc文件

找到根目录下.bablerc文件,找到如下代码并删除

["transform-imports", {
        "nuke": {
            "transform": "nuke/lib/${member}",
            "preventFullImport": true
        },
}]

注意还需要删除这段代码前面的一个逗号 ,

增加外部引用的配置

修改webpack.config.js

1.在config对象里增加以下代码

"externals": [{
    "weex-rx": "commonjs rax",
    "rax": "commonjs rax",
    "nuke": "commonjs nuke",
    "QAP-SDK": "commonjs QAP-SDK",
    "genv": "commonjs genv",
}],

增加框架识别代码

在webpack.config.js文件里找到如下代码

new webpack.optimize.UglifyJsPlugin({
            minimize: true,
            compress: { warnings: false, drop_console: true },
            output: { comments: false }
        })

在其后边增加

,
new webpack.BannerPlugin('// {"framework": "Rax"}', {raw: true})

注意new前边的逗号

修改页面的渲染方式

  • 引入render

增加render在weex-rx
import {createElement, Component, render} from 'weex-rx';

  • 修改mount为render

找到所有的页面,修改下边

mount(<XXX/>, 'body');

render(<XXXX/>);
  • 删掉页面所有如下代码
import {mount} from 'nuke-mounter';

后续更新

  • 删除package.json里 dependencies 对象的的nuke 和weex-rx,和QAP-SDK的相关行。
  • 需要修改所有 nuke-XXXX 开头的模块,改为全部import XXX form nuke,
  • 需要修改所有 import XXX from nuke-XXXimport XXX from nuke

建议全局搜索 nuke-,并做修改和替换
修改后如果发现不能运行,请联系群里的童鞋帮忙处理。

升级总结

经过以上简单几步,即可完成内建包的配置。
以上升级最主要包含了几个部分

  • weex-rx 模块名称已经不再使用, 建议以后都使用rax, 可以全局搜索 weex-rx并替换为rax
  • nuke-mounter 模块不再使用,以后都只使用
import {render} from 'rax';
  • 如果工程的配置修改不大,最简单的方法是用qap init newProject,生成一个新的工程,然后把src目录拷贝过去调试运行起来即可。
时间: 2024-08-30 12:01:16

QAP内建包迁移教程的相关文章

教程/dreamweaver/提高 细品DW MX 2004内建FW技术

dreamweaver|教程  Macromedia官方将在其他软件中内建Fireworks技术称为Fireworks技术,网上也称之为内建图片编辑器.Dreamweaver MX 2004给人的一个感觉就是与Macromedia公司其它产品的全面无缝集成,这样就大大缩短了开发人员的开发周期,提高工作效率. 以前的Dreamweaver中是没有图片处理功能的,即使你要处理也只能使用CSS中的相关滤镜进行一些效果的改变,而大多数特效的制作我们则必须使用Fireworks或者Photoshop工具.

使用Python的内建模块collections的教程

  这篇文章主要介绍了使用Python的内建模块collections的教程,示例代码基于Python2.x版本,需要的朋友可以参考下 collections是Python内建的一个集合模块,提供了许多有用的集合类. namedtuple 我们知道tuple可以表示不变集合,例如,一个点的二维坐标就可以表示成: ? 1 >>> p = (1, 2) 但是,看到(1, 2),很难看出这个tuple是用来表示一个坐标的. 定义一个class又小题大做了,这时,namedtuple就派上了用场

ASP教程:第八篇 ASP内建对象Response

在上一篇中作者给大家详细介绍了 ASP 内建对象之一 Request 的使用方法,相信各位通过一系列的实践已经能够熟练掌握,本篇将继续给大家介绍 ASP 的另一个内建对象 Response. 最近,有很多朋友来"妹儿"催我加快 ASP 篇一文的写作速度,并急切地询问哪里有关于 ASP 的教材.我深深地被大家的学习热情所打动,因此决定将自己平时所搜集的一些 ASP 信息资料拿出来和大家共享,也希望所有的朋友能慷慨地将自己搜集的有关 ASP 的资料告诉作者,谢谢.由于目前国内有关 ASP

ASP教程:第九篇 ASP内建对象Application 和 Session

 在上一篇中作者给大家详细介绍了 ASP 内建对象 Response 的使用方法,在这一篇中作者将继续给大家介绍另两个非常实用且重要的 ASP 的内建对象 Application 和 Session. 在 ASP 的内建对象中除了用于发送.接收和处理数据的对象外,还有一些非常实用的代表 Active Server 应用程序和单个用户信息的对象. 让我们先来看看 Application 对象.在同一虚拟目录及其子目录下的所有 .asp 文件构成了 ASP 应用程序.我们非但可以使用 Applica

ASP教程:第十一篇 ASP内建对象Server

通过前九篇的理论和实践,相信大家已经对 ASP 有了系统的了解,虽然至今为止,我们只学了 ASP 的 4 个内建对象,但已经完全能够写出一些实用的小程序了.今天,作者将继续给大家讲解最后一个 ASP 内建对象--Server. 在开始本次课程之前,我仍要在这里回答一些朋友们提出的比较普遍的问题.最近仍有不少朋友来信问我,如何构建服务器端的 Active Server Page 环境.我想可能是我在前几篇中没有讲清楚,因此,在本篇的开头有必要把这个问题详细阐述一遍. ASP 的应用完全是基于 Mi

转转: ASP 内建对象Request和Respones

request|对象 ASP 内建对象Request和Respones Web源于静态文本,现在很多站点几乎还是采用这种方式.静态文本的缺点就是维护难(文件数目多).查询难.修改难.虽然可以采用FrontPage对站点进行管理,但这只是其中的一个办法.现在,很多的站点都会在后台采用数据库,动态生成超文本.这样 要改变式样,只需修改几个文件:要变更内容,只需对数据库进行操作即可,而且易于保持一致性:而对于全文检索等查询应用,这种方式的优越性更为突出.(经常说的"动态"也包括图片的动态显示

SQL点滴9—SQL Server中的事务处理以及SSIS中的内建事务

原文:SQL点滴9-SQL Server中的事务处理以及SSIS中的内建事务 我们可以把SSIS中的整个package包含在一个事务中,但是如果在package的执行过程中有一个表需要锁定应该怎么处理呢?SSIS内建的事务处理可以解决这个问题.在此之前首先来熟悉一下SQL Server中的事务的概念.   事务 SQL Server中的事务是单个的工作单元.如果某一事务成功,则在该事务中进行的所有数据修改均会提交,成为数据库中永久的组成部分.如果事务遇到错误且必须取消或回滚,则所有的数据修改均被

python基础入门详解(文件输入/输出 内建类型 字典操作使用方法)_python

一.变量和表达式 复制代码 代码如下: >>> 1 + 1               2>>> print 'hello world' hello world>>> x = 1               >>> y = 2>>> x + y3 Python是强类型语言,无法根据上下文自动解析转换成合适的类型. Python是一种动态语言,在程序运行过程中,同一个变量名在运行的不同阶段可以代表不同形式的值(整型,浮

微技能|如何几分钟内建好企业网站?

对企业宣传来说,官网永远是最有效的线上营销,简单易懂高效的建站工具,则是解决成本的最佳方法.我们为大家Get这些建站工具与经验,或许能帮大家几分钟内建好企业网站,早日跟上互联网时代的福利. 建网站需要几个页面? 首页.新闻列表页及新闻页.产品列表页及产品页.单页,这几个页面基本就能满足企业的展示需要,并且网站结构是典型的3层式结构,易于搜索引擎爬行. 1)首页主要是放公司的重要信息如企业品牌标识.企业主要产品或服务等是企业形象的重要展示. 2)单页主要是放置企业的关于我们.联系方式.企业荣誉.企