Подтвердить что ты не робот

Хеширование файлов с помощью AngularJS

В настоящее время я работаю над проектом Angualar JS на основе angularAMD.

Ссылка: http://marcoslin.github.io/angularAMD/#/home

Здесь мы включаем только необходимые зависимые файлы, необходимые контроллерам, а не всем файлам.

например.

define(['angularAMD', 'common/services/service1', 'module1/services/service2',], function (angularAMD) {
    'use strict';

    angularAMD.controller('abcController', function ($scope, service1, service2) {

              // controller code goes here 
    }

Я пробовал Grunt Hashing, но
Grunt предоставляет хеширование, но местоположение хешированных файлов изменяется.

Это не изменяет путь к файлам внутри отдельного контроллера, в результате приложение не запускается. i.e service1, service2

Вопрос
Мне было интересно, есть ли способ хэш файлов, когда мы включаем новые файлы?

Есть ли другой способ решить эту проблему?

Спасибо в Advance

4b9b3361

Ответ 1

как настроить u ваши модули. Ваш main.js может выглядеть следующим образом:

'use strict';
require.config({
    waitSeconds: 0,
    urlArgs: "bust=v1.0.0",
    paths: {
        bootstrap: 'Scripts/bootstrap.min',
        jquery: 'Scripts/jquery-1.10.2.min',
        angular: 'Scripts/angular.min',
        angularRoute: 'Scripts/angular-route.min',
        angularAMD: 'Scripts/angularAMD.min',
        app: 'ngApp/app',
        appConfig: 'ngApp/app.config',

        /*register Services - Start*/
        service1: 'ngServices/Common/service1',
        service2: 'ngServices/module/service2',
        /*register Services - End*/

        /*register Filters - Start*/

        /*register Filters - End*/

        /*register Controllers - Start*/

        /*register Controllers - End*/



    },

    // specifying library dependencies
    shim: {
        'bootstrap':{ deps:['jquery']},
        'angular': { deps: ['jquery'], exports: 'angular' },
        'angularRoute': { deps: ['angular'] },
        'angularAMD': { deps: ['angular'] }
    },

    // define application bootstrap
    deps: ['app']
});

и в вашем index.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1">
</head>

<body data-ng-controller="appController as appCtrl" ng-cloak>
        <div >
                <ng-view></ng-view>
        </div>
    </div>
    <script data-main="main" src="Scripts/require.js"></script>
</body>
</html>

и в ваших контроллерах

'use strict';
define(['angularAMD', 'service1', 'service2'],
function (angularAMD) {

    angularAMD.controller('abcController', ['service1', 'service2',
    function (service1, service1) {
        var self = this,
         // your code
    }]);
});