node package manager

ak-rn-packager

Packager

react-native

Install

$ npm install rn-packager -g

Dependences

"devDependencies": {
  "rn-core": "~0.2.0"
}

"rn-core" 是 0.19.0 的全量sdk工程,你可以 获取 rn-core tag v0.2.1 的代码来精简你的JS核心SDK文件,修改 devDependencies 依赖精简后的工程。

rnpackager bundle

在项目工程根目录下执行打包命令,默认不打包框架代码及polyfills

$ rnpackager bundle --entry-file  entry/file/path.js --bundle-output out/file/path.jsbundle --platform ios

Options, 参数参考react-native命令,增加了--include-framework:

  • --include-framework Whether to bundle include module react-native and polyfills [default: false]

Bundle sdk

$ rnpackager bundle --entry-file node_modules/rn-core/react-native/Libraries/react-native/react-native.js --bundle-output ~/Desktop/react-native-debug.js --platform ios --include-framework

Server

$ rnpackager start

url请求参数新增framework=true

Programmatic API

var RNPackager = require('rn-packager');
 
gulp.task('task', function(){
  return RNPackager.bundle({
    "--entry-file": "tests/index.ios.js",
    "--bundle-output": "tests/index.ios.bundle",
    "--platform": "ios"
  });
});

Project Sample

$ cd tests
$ npm i
$ rnpackager start

Visit: