# 简介

代码编译插件,用于输入资源元数据文件、集成开发调试,以及一些其它可选的特性。

在实际应用场景中,通常用于子应用开发。

作为宿主应用的插件使用时,一般用于开发调试过程中自动加载子应用代码。对于生产环境,宿主应用加载子应用,更常见场景是自行编写代码从服务端接口获取子应用配置后加载,参考注册子应用,不在编译插件中进行配置。

# 安装

npm i @jmodule/plugin-webpack -D

# 配置

// webpack.conf.js
const JModulePlugin = require('@jmodule/plugin-webpack');

module.exports = {
    ...others,
    plugins: [
        new WebpackJmodulePlugin(),
    ],
}

# 集成开发调试

为了获得更好的开发体验,我们可以对插件配置一些参数,以便在开发过程中调试。

TIP

  1. 通过配置插件的 devConfig 参数,可以将开发环境(通常,但依然可以配置其他环境的服务地址)的子应用或宿主应用集成到一个本地的开发服务上,用于进行集成调试。
  2. 进行集成调试时支持代码热加载,如果热加载失效,可以检查 publicPath 是否配置好。
module.exports = {
    ...others,
    plugins: [
        new WebpackJmodulePlugin({
            devConfig: {
                currentServer: 'http://localhost:8080',
                platformServer: 'http://localhost:8081',
                platformLocalPort: 8082,
                modulesConfig: {
                    childAppReact: {
                        type: 'app',
                        name: 'childAppReact',
                    },
                },
            },
        }),
    ],
}

TIP

插件参数可以单独放在项目根目录中,通过 .jmodule.conf.js 文件进行配置,仅在插件参数为空时读取该文件。 参考: