可能是因为Angular应用程序在加载时无法正确解析其依赖项所致。
一种解决方法是确保在重定向后正确加载和解析Angular JavaScript文件。可以使用以下代码片段来加载Angular依赖项:
function loadScript(url, callback){
var script = document.createElement("script")
script.type = "text/javascript";
if (script.readyState){ //IE
script.onreadystatechange = function(){
if (script.readyState == "loaded" ||
script.readyState == "complete"){
script.onreadystatechange = null;
callback();
}
};
} else { //Others
script.onload = function(){
callback();
};
}
script.src = url;
document.getElementsByTagName("head")[0].appendChild(script);
}
loadScript("/dist/inline.bundle.js", function(){
loadScript("/dist/polyfills.bundle.js", function(){
loadScript("/dist/vendor.bundle.js", function(){
loadScript("/dist/main.bundle.js", function(){
console.log("Angular is loaded!");
// You can now bootstrap your Angular application
});
});
});
});
这个 loadScript
函数可以依次加载Angular项目所需的四个JavaScript文件:
inline.bundle.js
-- 内联模块polyfills.bundle.js
-- 填充模块vendor.bundle.js
-- 第三方依赖main.bundle.js
-- 应用程序代码当所有文件都加载完成后,就可以引导Angular应用程序了。