Skip to content

rax 组件打包 umd 资源默认不进行 external,由用户指定 #171

@maoxiaoke

Description

@maoxiaoke

背景

rax 组件构建出来的 umd 代码默认执行 webpack-node-externals

// rax 导出 umd 配置
  config.externals([
    function (ctx, request, callback) {
      if (request.indexOf('@weex-module') !== -1) {
        return callback(null, `commonjs ${request}`);
      }
      // Built-in modules in QuickApp
      if (request.indexOf('@system') !== -1) {
        return callback(null, `commonjs ${request}`);
      }
      callback();
    },
    nodeExternals(),  // 依赖全部使用 commonjs 规范 external 出去
  ]);

导致构建的代码使用 commonjs 规范

module.exports = require("rax");

/***/ }),
/* 1 */
/***/ (function(module, exports) {

module.exports = require("rax-view");
...

目的:改为支持 root 的导出类型,且支持用户自定义 external

其他:

  • rax 默认 external,防止出现多实例问题

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions