关于AngularJS架构的一些困惑

时间:2015-12-30 19:39:22

标签: angularjs

最近我从http://themeforest.net/item/fuse-angularjs-material-design-admin-template/12931855购买了一个保险丝AngularJS主题,但是这个代码遵循什么样的AngularJS架构呢?所有文件都是独立的模块,控制器和HTML文件,它使用gulp来运行

这是模块

(function ()
{
'use strict';

angular
    .module('app.components.tables.datatable', [])
    .config(config);

/** @ngInject */
function config($stateProvider)
{
    $stateProvider.state('app.components_tables_datatable', {
        url    : '/components/table/datatable',
        views  : {
            'content@app': {
                templateUrl: 'app/main/components/tables/datatable/datatable.html',
                controller : 'DatatableController as vm'
            }
        },
        resolve: {
            Employees: function (apiResolver)
            {
                return apiResolver.resolve('tables.employees100@get');
            }
        }
    });
}

})();

这是控制器

(function ()
{
'use strict';

angular
    .module('app.components.tables.datatable')
    .controller('DatatableController', DatatableController);

/** @ngInject */
function DatatableController(Employees)
{
    var vm = this;

    // Data
    vm.employees = Employees.data;

    vm.dtOptions = {
        dom       : '<"top"f>rt<"bottom"<"left"<"length"l>><"right"<"info"i><"pagination"p>>>',
        pagingType: 'simple',
        autoWidth : false,
        responsive: true
    };

    // Methods

    //////////
}

})();

Folder Structure Screenshots

1 个答案:

答案 0 :(得分:0)

这是一个很好的https://stackoverflow.com/a/42073/2911452,它有助于从Fuse主题的角度版本开始。 documentation

它在/ app目录下使用模块化结构。要添加新模块,只需将模块文件放入app /目录中的首选位置,然后将模块名称作为依赖项添加到app / index.module.js文件中。

解压缩您从Themeforest下载的zip文件。在zip文件中,您将找到Skeleton项目(Fuse-1.x.x.zip)以及演示项目(Fuse-1.x.x-demo.zip),PSD设计和自述文件。解压缩Fuse-1.x.x.zip或Fuse-1.x.x-demo.zip后,您将找到/ src文件夹,您需要在/ app文件夹下构建模块。完成后,您需要运行“gulp build”(用于生产)或“gulp build:dev”(用于开发)。最后,您将在/ dist文件夹下获取构建主题。现在你可以在任何地方使用它。甚至你可以使用apache服务器运行。