我开发了一个AngularJs,RequireJs应用程序,PHP作为后端,托管在WAMP服务器上。 服务器机器名称是" ICC-Server"和别名是" iccportal"和域名是" ip.bombay"。
当我在IE10和Chrome上使用http://iccportal.ip.bombay
访问门户时,它运行良好。
但如果我尝试访问没有域名的同一门户网站(http://iccportal)
,我会收到以下错误。
SCRIPT5009:' angular'未定义 app.js,第4行1个字符
SCRIPT5009:' angular'未定义 main.js,第6行5字符
我不确定是否存在requirejs或WAMP问题。 请指导。
以下是main.js和app.js
的代码段require(["app"], function (app) {
// Following line is more important else angular js will not work
angular.bootstrap(document.getElementsByTagName("body")[0], ["wkPortal"]);
});
(function (define, angular) {
"use strict";
// enable/disable logs
define(["components/home/homeController","components/home/homeService"], function (homeController, homeService) {
var app = angular.module("wkPortal", ["ngRoute", "ngSanitize"]);
// register home controller
app.controller("HomeController", homeController);
// register home service
app.service("HomeService", homeService);
return app;
}
);
}(define, angular));
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<link rel="shortcut icon" href="favicon.ico" type="image/ico"/>
<title>ICC Portal</title>
<!-- CSS ===================== -->
<!-- load bootstrap -->
<link rel="stylesheet" href="assets/css/bootstrap.css">
<link rel="stylesheet" href="assets/css/bootstrap-theme.css">
<link rel="stylesheet" href="assets/css/MetroJs.css">
<link rel="stylesheet" href="assets/css/app.css">
</head>
<body>
<div ng-view></div>
<!-- JS -->
<!-- load jquery -->
<script src="assets/js/jquery-2.1.0.js" type="application/javascript"></script>
<script src="assets/js/jquery-ui.js" type="application/javascript"></script>
<script src="assets/js/jquery.validate.js" type="application/javascript"></script>
<!-- Bootstrap -->
<script src="assets/js/bootstrap.js" type="application/javascript"></script>
<!-- load angular -->
<script src="assets/js/angular.min.js" type="application/javascript"></script>
<script src="assets/js/angular-animate.js" type="application/javascript"></script>
<script src="assets/js/angular-cookies.js" type="application/javascript"></script>
<script src="assets/js/angular-route.js" type="application/javascript"></script>
<script src="assets/js/angular-touch.js" type="application/javascript"></script>
<script src="assets/js/angular-sanitize.js" type="application/javascript"></script>
<script src="assets/js/MetroJs.js" type="application/javascript"></script>
<!-- application app -->
<script data-main="app/main" src="assets/js/require.js"></script>
</script>
</body>
</html>
谢谢, Indrajit
答案 0 :(得分:2)
问题可能是由较旧的文档模式引起的。 尝试使用开发人员工具(F12),并手动更改文档模式。 如果可行,请检查您的网站强制执行旧文档模式的原因。 可能的原因可能是HTML头部分中的以下行:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
Internet Explorer如何在文档模式之间进行选择:Link
答案 1 :(得分:0)
如果您使用的是RequireJS,则不应显式导入AngularJS。在这种情况下,Angular应该由RequireJS加载,您应该手动引导应用程序。谷歌有点关于它,你会找到解决方案。