output.injectByEntries
- 类型:
Object
- 默认值:
undefined
用于在多页面的场景下,为不同的页面设置不同的 script 标签插入位置。
整体用法与 output.inject 一致,主要区别在于,可以使用「入口名称」作为 key 进行单独设置。
入口名称
默认情况下,「入口名称」为页面入口所在目录的名称。
例如,项目的目录结构如下时,入口名称为 page-a
和 page-b
。
└── src
├── page-a
│ └── App.jsx
└── page-b
└── App.jsx
如果使用 source.entries 自定义了页面入口,则「入口名称」为 source.entries
对象的 key
。
示例
modern.config.js
import { defineConfig } from '@modern-js/app-tools';
export default defineConfig({
output: {
inject: 'head',
injectByEntries: {
'page-a': false,
},
},
});
- 入口
page-a
script 标签不会插入到 HTML 中。 - 入口
page-b
script 标签会插入到head
标签内。