У меня есть src моего приложения. Я использую АнгулярДжС. Я использую RequireJS в качестве загрузчика модулей. Я использую Grunt как средство запуска задач. Когда я запускаю приложение, используя src: все хорошо. Когда я создаю приложение с помощью Grunt, приложение не работает. У меня нет ошибок в консоли.
Главное, что я заметил: мой код (код моего приложения: app.js и файлы под js/
) не отображается в выходном файле, который установлен в настройках задачи grunt. Кроме того, я не думаю, что есть что-то в AngularJS.
Основной файл конфигурации:
require.config({
paths: {
'angular' : '../components/angular/angular',
/* etc..... */
'jquery': '../components/jquery/dist/jquery',
'application': './app'
},
shim: {
/* etc */
application: {
deps: ['angular']
},
angular: {
exports : 'angular'
}
},
baseUrl: '/js'
});
require(['application', 'angular', 'ngRoute', 'bootstrap' /* ngRoute and bootstrap from etc :) */], function (app) {
app.init();
});
Мое приложение в app.js:
define([
'require', 'angular', 'main/main', 'common/common'
], function (require) {
'use strict';
var angular = require('angular');
var app = angular.module('myApp', ['ngRoute', 'main', 'common']);
app.init = function () {
angular.bootstrap(document, ['myApp']);
};
app.config(['$routeProvider',
function ($routeProvider) {
$routeProvider
./* ... some code */
}
]);
return app;
});
Я добавляю основной файл конфигурации RequireJS в конец тега body
:
<script type="text/javascript" src="components/requirejs/require.js" data-main="js/bootstrap.js"></script>
Теперь у меня проблема. В качестве системы сборки у меня Grunt. У меня есть такая задача:
grunt.initConfig({
requirejs: {
compile: {
options: {
baseUrl: "public/js",
mainConfigFile: "public/js/bootstrap.js",
name: 'bootstrap',
out: "build/js/bootstrap.js",
optimize: 'none'
}
}
},
// etc
У меня нет оптимизации, поэтому я получаю около 11 тысяч строк кода в выходном файле.
Как я сказал. Основная проблема: в выходном файле нет кода AngularJS и кода приложения.
Почему? Я правильно настроил mainConfigFile. Проблема в конфигурационном файле RequireJS? Но все в порядке, когда я запускаю свое приложение на src.