weex-rax-framework

0.6.5 • Public • Published

weex-rax-framework

How to custom builtin modules?

1. Build module use factory mode

const webpack = require('webpack');
const RaxPlugin = require('rax-webpack-plugin');
 
module.exports = {
  target: 'node',
  entry: {
    // Entry name should ends with `.factory`
    'your-module.factory' : './src/index.js',
  },
  output: {
    path: './dist/',
    filename: '[name].js',
  },
  plugins: [
    new RaxPlugin({
      // Your could config builtinModules here
      externalBuiltinModules: false,
      builtinModules: RaxPlugin.BuiltinModules,
    });
  ],
  module: {
    loaders: [{
      test: /\.jsx?$/,
      exclude: /(node_modules|bower_components)/,
      loader: 'babel', // 'babel-loader' is also a legal name to reference
      query: {
        presets: ['es2015', 'rax']
      }
    }]
  }
}

Then publish module with factory build file to npm registry:

npm publish

Or link module in local:

npm link

2. Config builtin.js in framework source

Install builtin module from npm:

npm install your-module --save

Or link from local:

npm link your-module

Config builtin.js and add your custom builtin module:

export let ModuleFactories = {
  'rax': require('rax/dist/rax.factory'),
  // Add your builtin module
  'your-module': require('your-module/dist/your-module.factory'),
};

3. Build framework use framework mode

const webpack = require('webpack');
const RaxPlugin = require('rax-webpack-plugin');
 
module.exports = {
  target: 'node',
  entry: {
    // Entry name should ends with `.framework`
    'rax.framework': './packages/weex-rax-framework/src/index.js',
  },
  output: {
    path: './packages/weex-rax-framework/dist/',
    filename: '[name].js',
  },
  plugins: [
    new RaxPlugin();
  ],
  module: {
    loaders: [{
      test: /\.jsx?$/,
      exclude: /(node_modules|bower_components)/,
      loader: 'babel', // 'babel-loader' is also a legal name to reference
      query: {
        presets: ['es2015']
      }
    }]
  }
}

How to build weex jsfm including weex-rax-framework?

1. Clone the weex repository and install prerequisites

git clone git@github.com:alibaba/weex.git
cd weex
npm install

2. Install or link weex-rax-framework

npm install weex-rax-framework

Or

npm link weex-rax-framework

3. Config weex-rax-framework

Update html5/frameworks/index.js file with below content:

import * as Weex from './legacy/index'
import Rax from 'weex-rax-framework'
 
export default {
  Rax,
  Weex
}

4. Build jsfm for native renderer to dist/native.js

npm run build:native

5. Copy dist/native.js to weex-sdk

cp -vf ./dist/native.js ./android/sdk/assets/main.js
cp -vf ./dist/native.js ./ios/sdk/WeexSDK/Resources/main.js

Readme

Keywords

none

Package Sidebar

Install

npm i weex-rax-framework

Weekly Downloads

2

Version

0.6.5

License

BSD-3-Clause

Unpacked Size

565 kB

Total Files

20

Last publish

Collaborators

  • zeroling
  • wintercn
  • yuanyan
  • yacheng
  • rax-publisher