我有一個使用angular-cli創建的angular2項目。 Angular-cli使用webpack。如何使用angular-cli創建加載屏幕
我會定製加載程序,因爲在白色背景上的黑色「加載...」對我來說並不好。
因此,我用裝載機的svg動畫重寫index.html。但動畫滯後,有時會凍結。我的第一個解決方案是,在index.html的末尾刪除* .bundle.js。然後,我捕獲DOMContentLoaded事件以顯示svg。賓果,非常整齊。
然後,我爲webpack添加動態不同的腳本* .bundle.js。
問題出在main.bundle.js上,因爲執行過程中出現錯誤。
如果我讓原始腳本在DOM中工作,但不是動態的。
因此,而不是:
<script type="text/javascript" src="inline.bundle.js"></script>
<script type="text/javascript" src="polyfills.bundle.js"></script>
<script type="text/javascript" src="scripts.bundle.js"></script>
<script type="text/javascript" src="styles.bundle.js"></script>
<script type="text/javascript" src="vendor.bundle.js"></script>
<script type="text/javascript" src="main.bundle.js"></script>
我把:
<script type="text/javascript">
var body = document.getElementsByTagName("body")[0];
var app = document.getElementsByTagName("app-root")[0];
body.removeChild(app);
function appendScript(src){
var s = document.createElement("script");
s.src = src;
s.type = "text/javascript";
body.appendChild(s);
}
document.addEventListener("DOMContentLoaded", function(){
var timer = setInterval(function(){
body.appendChild(app);
appendScript("inline.bundle.js");
appendScript("polyfills.bundle.js");
appendScript("scripts.bundle.js");
appendScript("styles.bundle.js");
appendScript("vendor.bundle.js");
appendScript("main.bundle.js");
clearInterval(timer);
}, 1500);
})
</script>
我想顯示不同的包的加載之前加載..
我刪除應用程序根因爲我希望有一個不透明的CSS動畫褪色效果
錯誤是:
Uncaught TypeError: Cannot read property 'call' of undefined
at __webpack_require__ (bootstrap c9cc4a4…:52)
at Object.192 (src async:7)
at __webpack_require__ (bootstrap c9cc4a4…:52)
at Object.635 (main.bundle.js:4838)
at __webpack_require__ (bootstrap c9cc4a4…:52)
at webpackJsonpCallback (bootstrap c9cc4a4…:23)
at main.bundle.js:1
我在__webpack__require函數中添加了一個console.log以顯示中斷執行的moduleId。這個模塊ID是1
你有一些想法嗎?
我使用第一種解決方案,但我想在加載不同的包之前顯示加載器.. –