diff --git a/docs/docs/docs/max/mf.md b/docs/docs/docs/max/mf.md index 49b9036d56e3..ac8a7305a511 100644 --- a/docs/docs/docs/max/mf.md +++ b/docs/docs/docs/max/mf.md @@ -167,6 +167,19 @@ src/exposes/ } ``` +### 关闭 MF 产物 hash + +默认情况下,当用户开启 `hash: true` 时, MF 产物中入口文件将自动携带 hash ,如 `remote.123abc.js` ,可通过设定 `remoteHash: false` 关闭(将得到 `remote.js` ),此时你可能需要修改 nginx / CDN / 网关 的响应头配置来去除该 `remote.js` 文件的缓存,否则新构建将无法生效。 + +注:没有 hash 的更多危害与推荐做法详见 [issue #11711](https://github.com/umijs/umi/issues/11711) + + +```ts +mf: { + remoteHash: false +} +``` + ## 运行时 API ### 何时需要使用运行时 API ? diff --git a/packages/plugins/src/mf.ts b/packages/plugins/src/mf.ts index 3ed61c9325ec..d0093827a0db 100644 --- a/packages/plugins/src/mf.ts +++ b/packages/plugins/src/mf.ts @@ -32,6 +32,7 @@ export default function mf(api: IApi) { ), shared: zod.record(zod.any()), library: zod.record(zod.any()), + remoteHash: zod.boolean(), }) .partial(); }, @@ -70,7 +71,9 @@ export default function mf(api: IApi) { ); } - const useHash = api.config.hash && api.env !== 'development'; + const useHash = typeof api.config.mf.remoteHash === 'boolean' + ? api.config.mf.remoteHash + : (api.config.hash && api.env !== 'development'); const mfConfig = { name,