我正在尝试构建一个使用json文件作为数据源的角度模块。
我能够使用gulp构建一组app.js / app.css文件,然后bower可以使用它来创建一个可安装的模块,我坚持如何包含/引用这个json文件
所以,我有一个模块定义为此(伪代码)
(function() {
'use strict';
angular
.module('myFoo', ['ngResource']);
.service('myService',myService);
/** @ngInject */
function myService($resource) {
return $resource('somefile.json');
}
})();
我现在可以构建这个模块,通过bower使其可用,然后将“bower install”这个模块放入我的应用程序中,注入并使用它 - 不幸的是,我得到了一个
https://myServer/somefile.json 404(未找到)
如何将这个json文件嵌入/包含到可以这种方式引用的构建中?
如果我修改服务以直接返回数据,那么它会按预期工作。
如果没有更好的选择,我会直接将内容注入服务文件。
非常感谢任何见解。谢谢!
答案 0 :(得分:1)
angular.module('prerequisites', ['constants']).run(function ($http, $cacheFactory, somefileConstant) {
$cacheFactory.get('$http').put('somefile.json', somefileConstant);
});
constants
模块和somefileConstant
可以使用gulp-ng-constant
或gulp-ng-config
构建。在必须请求真正的json的情况下,prerequisites
模块可以用空模块替换/重新定义。
angular
.module('myFoo', ['ngResource']);
.service('myService',myService);
/** @ngInject */
function myService($resource) {
return $resource('somefile.json', null, { get: { cache: true } });
}
我猜get
行动就是针对此行动,但可以替换为此资源的任何其他行动。