【发布时间】:2016-03-04 14:23:23
【问题描述】:
在将我的应用程序安装到给定节点之前,我尝试将多个依赖项注入 DOM,但它挂起/崩溃。
function injectSingle (file, done) {
var source;
switch (file.type) {
case 'js':
source = document.createElement('script');
source.src = file.src;
source.async = true;
break;
case 'css':
source = document.createElement('link');
source.href = file.src;
source.type = 'text/css';
source.rel = 'stylesheet';
break;
}
if (source.readyState) { // IE
source.onreadystatechange = function () {
if (source.readyState == "loaded" || source.readyState == "complete"){
source.onreadystatechange = null;
done();
}
};
} else { // Standard
source.onload = function () {
done();
};
}
document.getElementsByTagName('head')[0].appendChild(source);
}
function injectDependencies (files, launch) {
var ready = 0;
do {
injectSingle(files[ready], function () {
ready++;
console.log('Ready Count: %s', ready);
});
} while (ready < files.length - 1);
launch();
}
(function () {
injectDependencies([
{
src: '//example.com/dep.min.js',
type: 'js'
},
{
src: '//example.com/dep.2.js',
type: 'js'
},
{
src: '//example.com/dep.css',
type: 'css'
},
], function () {
React.render(<Application/>, document.getElementById('someId'));
})
})
请忽略这一点,因为我需要用更多的文字来填充这篇文章。
Lorem ipsum dolor sit amet,consectetur adipisicing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua。 Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat。 Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur。 Exceptioneur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum。
【问题讨论】:
标签: javascript dependency-injection