我在外部文件中定义了以下控制器,但是当我试图运行我的节点服务器时,我会得到“角不是定义的”错误。
vaultcontroller.js
angular.module('demoapp.vaultcontroller', [])
.controller('vaultcontroller', function($scope, appFactory){
console.log("INSIDE APP CONTROLLER.");
$("#success_holder").hide();
$("#success_create").hide();
$("#error_holder").hide();
$("#error_query").hide();
$scope.get_all_currencies_from_vault = function(){
console.log("VAULT CONTROLLER IS CALLED -1 ");
appFactory.queryAllTuna(function(data){
var array = [];
for (var i = 0; i < data.length; i++){
parseInt(data[i].Key);
data[i].Record.Key = parseInt(data[i].Key);
array.push(data[i].Record);
}
array.sort(function(a, b) {
return parseFloat(a.Key) - parseFloat(b.Key);
});
$scope.all_tuna = array;
});
}
});这是package.json
"dependencies": {
"angular": "1.6.5",
"angular-route": "1.6.5",
"body-parser": "latest",
"ejs": "latest",
"express": "latest",
"fabric-ca-client": "^1.0.2",
"fabric-client": "^1.0.2",
"grpc": "1.11.0",
"morgan": "1.9.0"
},这是错误跟踪:
angular.module('demoapp.vaultcontroller', [])
^
ReferenceError: angular is not defined
at Object.<anonymous> (D:\Project-code\demo-POC\demopoc\client\vaultcontroller.js:2:1)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (D:\Project-code\demo-POC\demopoc\client\routes.js:5:23)
at Module._compile (module.js:652:30)这是我的index.html导入
<!-- require jquery and bootstrap scripts -->
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.5/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.5/angular-route.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>更新-1加载阀值控制器
在app.js文件中,我做了以下操作。
.when('/vault', {
templateUrl: 'vault.html',
controller: 'vaultcontroller'
})上面贴出了保险库控制器的代码。那么我已经完成了在app.js中的跟踪
var demoapp = angular.module('application', ["ngRoute", "application.vaultcontroller"]);然后使用脚本导入index.html中的文件。
<!-- requiring the angular page -->
<script type="text/javascript" src="app.js"> </script>
<script type="text/javascript" src="vaultcontroller.js"> </script>如果需要更多代码,请告诉我。新角度
Update-2 >解决方案 Ok,我得到了@Aleksey的一些帮助,他建议我安装一个单独的服务器http-服务器来传递我的静态文件,更早的时候,我的节点服务器也在传递静态文件。我从server.js中删除了这个部分,没有得到任何上述错误,它开始工作了。我现在有两个URL 1.静态内容> localhost:8080 2。对于API服务器(用节点编写,启动时使用server.js )> localhost:8000
谢谢你帮忙。
发布于 2018-05-03 12:11:03
你需要加大打击力度
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>https://stackoverflow.com/questions/50154705
复制相似问题