OHIF记录(四)——关于index.js
OHIF框架的index.js文件有两个功能:
- 引入了App.js组件
- 引入处理Dicom数据的工具包
工具包源码的目录:Viewers-master\extensions
提供了9个不同的工具包:
每个工具包向外export一个主函数,这些函数被index.js引用,并将函数名存放在一个叫defaultExtensions
数组中:
defaultExtensions: [
OHIFVTKExtension,
OHIFDicomHtmlExtension,
OHIFDicomMicroscopyExtension,
OHIFDicomPDFExtension,
OHIFDicomSegmentationExtension,
OHIFDicomRtExtension,
//OHIFDebuggingExtension,
//OHIFDicomTagBrowserExtension,
],
index.js文件还定义了一个名叫config
的对象,对象默认为空对象。
let config = {};
if (window) {
config = window.config || {};
window.version = version; //version的值是4.9.13
}
当打开浏览器时候,window
一定为真,那么如果window.config
存在,config
就等于window.config
,否则config
还是空对象。第二行 window.version = version;
给window
对象赋予了一个version
属性,它的值是Viewers-master\platform\viewer\package.json
文件里version
的值。
config
和defaultExtensions
共同组成一个appProps
对象,并当做参数传递给子组件App
。
在App.js
文件里,在类组件App
的constructor
中,通过结构赋值,读取了index
的config
和defaultExtensions
constructor(props) {
super(props);
const { config, defaultExtensions } = props;
}
参数名在app.js
和index.js
中是一样的,这样也方便记忆。