После оптимизации проекта с помощью r.js и создания concatinated-minified main.js браузер по-прежнему загружает файлы js из соответствующей папки dist/.

Angular проект, в котором я участвую, использует RequireJS. Сейчас я пытаюсь оптимизировать проект с помощью r.js.

Вот моя угловая структура проекта

 .
 |_ js            // all the libaries are in here
 |_ css           // all style sheets
 |_ ngApp         // app.js and some config files
 |_ ngControllers 
 |_ ngServices
 |_ ngFilters
 |_ ngTemplates
 |_ ngViews
 |_ ng_modules
 |
 |_ build.js
 |_ index.html
 |_ main.js    // RequireJS paths and shims
 |_ r.js

Ниже приведен мой скрипт сборки r.js

({
   dir: 'dist',// the output directory
   optimizeCss: 'standard',
   removeCombined: true,
   mainConfigFile: 'main.js',
   name : 'main',
   fileExclusionRegExp: /^((r|build|gulpfile)\.js|(node_modules))$/
})

Тег скрипта, используемый для добавления RequireJS, находится ниже.

<script data-main="main" src="js/require.js"></script>

Мой конфиг require.js в main.js

'use strict';
require.config({
    waitSeconds: 0,
  paths: {
    jquery: 'js/jquery-1.11.3.min',
    angular: 'js/angular.min',
    angularAnimate: 'js/angular-animate.min',
    app: 'ngApp/app',

    /*Directives - Start*/
    masterHeaderDirective: 'ngDirectives/master-header-directive',
    .
    .
    .
    /*Directives - End*/

    /*Services - Start*/
    interceptor: 'ngServices/Common/app-service-interceptor',
    .
    .
    .
    /*Services - Start*/

    /*register Filters - Start*/
    currencySymbolFilter: 'ngFilters/currenySymbolFilter',
    /*register Filters - End*/

    /*Controllers - Start*/
    mainController: 'ngControllers/mainController.js',
    .
    .
    .
    /*Controllers - Ends*/

    /*textAngular*/
    textAngular: 'js/textAngular/textAngular.min',
    textAngularRangy: 'js/textAngular/textAngular-rangy.min',
    textAngularSanitize: 'js/textAngular/textAngular-sanitize.min',

    modernizr: 'js/modernizr.custom',
    detectizr: 'js/detectizr',

    /*i18n custom*/
    i18nCustom : 'ngDirectives/i18n-custom-directive',
    i18nCustomService : 'ngServices/Common/i18n-helper-service',
    i18nCustomController : 'ngControllers/Common/i18n-helper-controller',
    /*i18n custom ends*/

  },
  shim: {
    'angular': { deps: ['jquery'], exports: 'angular' },
    'angularAnimate': { deps: ['angular'] },
    'angularRoute': { deps: ['angular'] },
    'dirPagination': { deps: ['angular'] },
    .
    .
    .
  },
   deps: ['app']
});

В конце сборки я получаю dist папка со всеми моими файлами.js и.css, уменьшенными в соответствующих папках. Также, main.js внутри папки dist содержится минимизированная конкатенация всех файлов, упомянутых в main.js.

Но когда я открываю свою папку dist в браузере, вместо использования контроллеров, служб и т. Д. Из мини-конкатенации main.jsзагружаются из своих dist/folder,

Если я удалю папку, например. dist/ngController, приложение ломается, что означает, что наличие файлов в dist/ngController внутри dist/main.js не соблюдается. Может ли кто-нибудь объяснить это поведение?

0 ответов

Другие вопросы по тегам