我意识到这里有这个问题的一些答案,但我似乎无法让他们与我的设置一起工作。这是我正在努力实现的目标(不是我自己的工作):http ://plnkr.co/edit/Ofq7Md8udEnIhAPF1NgL?p=preview
目前,我的 index.html 文件有这个:
<body ng-app="HomeCourtArenaApp">
<div class="container" ng-view></div>
<script src="components/angular/angular.js"></script>
<script src="components/require/require.js"></script>
<script src="components/angular/angular-resource.js"></script>
<script src="scripts/services/data.js"></script>
<script src="scripts/app.js"></script>
</body>
为了注册组件,我在 karma.conf.js 文件中定义了它们:
files = [
JASMINE,
JASMINE_ADAPTER,
'app/components/angular/angular.js',
'app/components/angular/angular-resource.js',
'app/components/angular-mocks/angular-mocks.js',
'app/scripts/*.js',
'app/scripts/**/*.js',
'test/mock/**/*.js',
'test/spec/**/*.js'
];
然后,为了创建服务,我使用了大多数示例中似乎在线记录的相同技术:
'use strict';
angular.module('jsonData', ['ngResource'])
.factory('jsonData', function($resource) {
return $resource('data/shoe3Dconfig.js');
});
当我尝试在我的“app”变量中定义服务时,似乎触发了一个错误,其中添加服务名称会停止内容加载 ['jsonData']:
'使用严格';
var app = angular.module('HomeCourtArenaApp', ['jsonData']);
app.config(function ($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'views/main.html',
controller: 'MainCtrl'
})
.otherwise({
redirectTo: '/'
});
});
我也会分享我的视图和控制器,但在我什至可以在我的模板中使用 JSON 数据之前,有大量的错误需要处理:
Uncaught Error: Module name "path" has not been loaded yet for context: _. Use require([])
Uncaught Error: Mismatched anonymous define() module: function () {
return getStyleProperty;
}
Uncaught Error: No module: ngResource
还有一些其他错误,但这些似乎主要是因为 DOM 更远的脚本正在阻止它们正确加载。任何帮助都会很棒!