meiqia-build-router-plugin
v1.0.0
Published
用于将两个router文件合并成同一个router文件
Downloads
2
Readme
npm i --save-dev build-router-plugin
yarn add --dev build-router-plugin
该插件将根据基础版的 router.js 文件与定制化的 router.js 文件进行合并,如内容有冲突,定制化文件的内容会覆盖掉基础版的内容。最终生成一个合并后的 router.js 文件到指定位置。
webpack.config.js
const BuildRouterPlugin = require("build-router-plugin");
module.exports = {
//...
plugins: [newBuildRouterPlugin({)],
};
你可以将配置项传递给 build-router-plugin,配置表如下:
| 名称 | 类型 | 默认值 | 描述 |
| :------------: | :--------: | :----------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------- |
| CUSTOM | {String}
| | 定制化标识,用于区分是哪个项目的,可以从 webpack.config.js 中的 process.env.CUSTOM 获取获取 |
| basePath | {String}
| ./src/routes/index.jsx | 基础版的 router 配置文件的路径 |
| customPath | {String}
| ./customs/${CUSTOM}/src/routes/index.jsx
| 定制版的 router 配置文件的路径 |
| outputPath | {String}
| ./src/routes/build-index.jsx | 生成的新的 router 配置文件的路径 |
| diffFlag | {String}
| const AllRoutes = () => { | 因为 router 配置文件分为引入内容和配置内容两部分,这两部分的对比方式不同,所以需要一个分隔符将其分开。该字段就是用来将导入和配置分开的字符串内容。 |
webpack.config.js
{
//......
plugins: [
new BuildRouterPlugin({
CUSTOM: "dunhuang",
basePath: "./src/routes/index.jsx",
customPath: `./customs/${CUSTOM}/src/routes/index.jsx`,
outputPath: "./src/routes/build-index.jsx",
diffFlag: "const AllRoutes = () => {",
}),
];
}
将代码 clone 下来后,进入到 packages/build-router-plugin 目录下,执行 yarn install,修改 index.js 中的代码即可。
修改好后,先登录 yarn:yarn login ,登录成功后执行 yarn publish,修改版本后即发布成功。