将json数据文件嵌入到角度构建中

时间:2015-10-22 19:18:26

标签: json angularjs gulp

我正在尝试构建一个使用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文件嵌入/包含到可以这种方式引用的构建中?

如果我修改服务以直接返回数据,那么它会按预期工作。

如果没有更好的选择,我会直接将内容注入服务文件。

非常感谢任何见解。谢谢!

1 个答案:

答案 0 :(得分:1)

angular.module('prerequisites', ['constants']).run(function ($http, $cacheFactory, somefileConstant) {
  $cacheFactory.get('$http').put('somefile.json', somefileConstant);
});

constants模块和somefileConstant可以使用gulp-ng-constantgulp-ng-config构建。在必须请求真正的json的情况下,prerequisites模块可以用空模块替换/重新定义。

angular
.module('myFoo', ['ngResource']);
.service('myService',myService);

/** @ngInject */
function myService($resource) {
    return $resource('somefile.json', null, { get: { cache: true } });
}

我猜get行动就是针对此行动,但可以替换为此资源的任何其他行动。