2.3.12 • Published 5 years ago

mutiple-platform v2.3.12

Weekly downloads
48
License
-
Repository
-
Last release
5 years ago

mutiple-platform

差异化构建包 support node 8+

针对 rax 技术栈,支持差异化构建 node、rax-weex、rax-web、react 四种包。

原理

参考文章

使用方式

const resultConfig = MultiplePlatform(baseWebpackConfig, {
  // 需要打出的平台包,该设置产出 index.web.js & index.weex.js
  platforms: ['web', 'weex', 'react'],
  // 当对模块进行打包时需传入当前模块的 package.json 内容,否则不传入该字段
  pkgJson: pkgJson,
  // 需要主动 external 的包
  // allowNodeModules:是否对node_modules依赖使用,对于不了解的外部依赖可能有风险
  // platforms 在对应平台external的引用方式,需完全匹配。
  externals: { allowNodeModules: false, platforms: { web: ['./native'], weex: ['./web'] } },
  // 差异化打包基准库
  name: ['nuke-env', 'universal-env', '@ali/universal-env'],
  // 打包产物格式化命名
  chunkFilename(platformType) {
    return `[name].${platformType}.js`;
  }
});

baseWebpackConfig 是基础的 webpack 配置,开发者可配置打包入口、loader 等内容。

注意