QAP内建包迁移教程

简介: 前言 最新千牛客户端内置了最新版本的NukeUI和QAP-SDK, 开发者可以不再打包相关的代码,经测试内建包可以大幅降低QAP package包的大小,体积最大可减少75%~80%的大小。推荐旧的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目录拷贝过去调试运行起来即可。
目录
相关文章
|
28天前
|
达摩院 Linux Docker
MindOpt APL 最新版本功能介绍,并且开放下载使用了!
MindOpt APL (MAPL) 是由阿里巴巴达摩院研发的国产建模语言,专长于电力SCUC等问题,提供向量化建模支持,可与Mindopt Studio平台集成。最新版2.4增加了向量化建模、Linux环境下通过pip安装支持以及改进了打印显示和错误提示。MAPL的向量化建模提高了效率,适合大规模问题。用户可通过云平台Docker打包或pip安装使用,支持多种求解器,包括MindOpt和开源求解器。
|
4月前
|
XML Linux 定位技术
Linux【工具 02】OpenStreetMap数据处理工具OSMCTools下载安装使用举例(osmconvert\osmfilter命令说明)如何获取区域边界说明
Linux【工具 02】OpenStreetMap数据处理工具OSMCTools下载安装使用举例(osmconvert\osmfilter命令说明)如何获取区域边界说明
37 0
|
4月前
|
前端开发 JavaScript 开发者
探索npm的高级特性:自定义脚本与包的发布与维护
探索npm的高级特性:自定义脚本与包的发布与维护
|
图形学
Rhino中文名称犀牛,是一款超强的三维建模工具Rhino 7.9安装教程(所有版本下载安装教程)
Rhino中文名称犀牛,是一款超强的三维建模工具。不过不要小瞧它,它包含了所有的NURBS建模功能,用它建模感觉非常流畅,所以大家经常用它来建模,然后导出高精度模型给其他三维软件使用。
|
Unix C#
使用Inno Setup 制作软件安装包详细教程(与开发语言无关)
前言:关于如何制作一个软件安装包的教程,与编程语言无关。以下,请看详情~
433 0
使用Inno Setup 制作软件安装包详细教程(与开发语言无关)
|
缓存 前端开发 JavaScript
各种语言常见的包管理工具
各种语言常见的包管理工具
|
Web App开发 Java Unix
常用的包管理工具的简单使用
brew 是macOS系统的包管理软件。Homebrew是以最简单,最灵活的方式来安装苹果公司在MacOS中不包含的UNIX工具。 homebrew基于Git仓库管理的。
185 0
|
开发工具 git
ROS 环境下 安装 turtlebot3 功能包及其仿真包 并测试 —— 全流程(报错及解决)
ROS 环境下 安装 turtlebot3 功能包及其仿真包 并测试 —— 全流程(报错及解决)
ROS 环境下 安装 turtlebot3 功能包及其仿真包 并测试   —— 全流程(报错及解决)
|
IDE Ubuntu 开发工具
ROS入门笔记(三):二进制包与源代码包
ROS入门笔记(三):二进制包与源代码包
434 0
ROS入门笔记(三):二进制包与源代码包
|
Ubuntu Shell 计算机视觉
Qt实用技巧:ubuntu发布程序打包流程(解决插件xcb加载失败)
Qt实用技巧:ubuntu发布程序打包流程(解决插件xcb加载失败)
Qt实用技巧:ubuntu发布程序打包流程(解决插件xcb加载失败)

热门文章

最新文章