2.8 KiB
| name | description |
|---|---|
| jjb-app-identifier-routing | 定义 JJB 应用标识符与路由配置规范。在配置 jjb.config.js、设置 appIdentifier 或了解构建产物命名规则时使用。基于 appIdentifier 实现路由 basename 与构建产物命名。含 framework.antd ant-prefix 与 ConfigProvider:antd DOM 类名为 ${ant-prefix}-*,勿用默认 ant-* 写样式。 |
应用配置与开发环境
应用标识符与路由配置
-
应用标识符 (appIdentifier):
-
位置:根目录
jjb.config.js文件中的appIdentifier属性 -
作用:
- 作为应用的唯一标识符,
@cqsjjb/jjb-dva-runtime基于此属性自动生成应用路由的basename @cqsjjb/scripts基于此属性实现构建产物的命名
- 作为应用的唯一标识符,
-
构建产物命名规则:
@cqsjjb/scripts会根据appIdentifier的值生成对应的构建产物目录和文件- 示例:当
appIdentifier = 'myApp'时,构建产物结构为:dist/ ├── myApp/ │ └── static/ │ └── ... └── myApp.html
- 示例:当
-
修改方式:在根目录
jjb.config.js文件的appIdentifier节点中进行配置
-
-
Ant Design 类名前缀(
ant-prefix)与appIdentifier的约束:-
配置位置:根目录
jjb.config.js→framework.antd['ant-prefix']。微应用模板中通常与appIdentifier对应为app-${appIdentifier}(示例:appIdentifier: 'open-maic'→'ant-prefix': 'app-open-maic'),以项目实际配置为准。 -
运行时行为:
src/pages/Container/index.js中ConfigProvider使用prefixCls={window.process.env.app.antd['ant-prefix']}(与上述配置一致)。因此 antd 组件在 DOM 上的类名不是官方文档中的默认ant-*,而是${ant-prefix}-*(示例:ant-btn→app-open-maic-btn,ant-tree-treenode→app-open-maic-tree-treenode)。 -
禁止假设
ant-前缀:编写 Less/CSS 覆盖、E2E 选择器、从 antd 文档复制的样式片段 时,不得写死.ant-btn、.ant-tree-*等默认类名,否则在本项目中不会命中任何节点。 -
推荐做法:
- 优先给业务根节点设置自有
className(如className="xxx-page__tree"),样式写在该类名下,仅必要时用不依赖前缀的选择方式(如[class*='-tree-treenode']等,需带注释并限定在外层容器内,避免误伤); - 或在样式中显式使用当前项目的完整前缀(与
jjb.config.js中ant-prefix保持一致,模板/多应用时注意随项目变更)。
- 优先给业务根节点设置自有
-