接口: PluginExternalValue
pluginExternalBundle 接受的 external bundle 引用。
继承
Omit<ExternalValue,"url">
属性
async?
optionalasync?:boolean
是否异步加载资源。
默认值
true
继承自
Omit.async
background?
optionalbackground?:LayerOptions
后台 layer 的选项。
默认值
undefined
继承自
Omit.background
bundlePath?
optionalbundlePath?:string
基于运行时 public path 解析的 bundle 路径。
当 external bundle 需要作为当前项目的一部分被产出或提供服务时,优先使用该选项而非 url。pluginExternalBundle 可以利用这些信息管理本地 bundle 文件,同时运行时会使最终
URL 与当前生效的 publicPath 保持一致。
重写了
Omit.bundlePath
libraryName?
optionallibraryName?:string|string[]
库的名称。与 https://webpack.js.org/configuration/externals/#string 相同。
默认情况下,库名称与 externals 的 key 相同。例如:
配置
将生成以下 webpack externals 配置:
如果一个 external bundle 包含多个模块,应设置相同的库名称,以确保它只被加载一次。例如:
将生成以下 webpack externals 配置:
可以传入数组来指定 external 的子路径。与 https://webpack.js.org/configuration/externals/#string-1 相同。例如:
将生成以下 webpack externals 配置:
在默认的 async: true 下,会改为生成一个 promise external,它会在库的 promise resolve 之后再取出子路径:
默认值
undefined
示例
继承自
Omit.libraryName
mainThread?
optionalmainThread?:LayerOptions
主线程 layer 的选项。
默认值
undefined
继承自
Omit.mainThread
retries?
optionalretries?:number
获取外部 bundle 超时(response.code === -2)时的额外重试次数。
默认值
0
继承自
Omit.retries
timeout?
optionaltimeout?:number
等待时间,单位为毫秒。
默认值
2000
继承自
Omit.timeout
url?
optionalurl?:string
Bundle 的 URL。
仅当 external bundle 位于当前构建产物之外、且不应由 pluginExternalBundle 产出或提供服务时才使用该选项。
已被弃用
建议优先使用 bundlePath,它通过运行时 public
path 解析,并允许上层工具管理资源产出。