LINUX.ORG.RU

grunt учит синтаксису backbone

 , , , ,


0

1

Помогите пожалуйста решить проблему

Я создал проект на js-фреймворке backbone. Он работает. Затем я решил при помощи grunt сжать js-библиотеки в один файл. В результате grunt сжимает все файлы в один, но проект перестаёт запускаться. При этом консоль отладчика хрома выводит следующее сообщение об ошибке:

Uncaught SyntaxError: Unexpected token :

То есть проблема в синтаксисе определения модели моего приложения. Конкретно здесь, в 4-ой строке:

APP.NewsModel = Backbone.Model.extend({
  defaults: { 
    id: undefined,
    title: undefined,
    poster: undefined,
    description: undefined,
    likeState: true
  }
});  

Сам по себе код правильный. Но я всё же пробовал добавлять кавычки, убирать пробелы и т.д Не помогло

Никому не встречалась подобная проблема?

Привожу так же настройки grunt. Скажу без ложной скромности, он идеальный

Gruntfile.js:

module.exports = function(grunt) {

  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),

    concat: {
      options: {
        separator: ';',
      },
      dist: {
        src: [
          'js/libs/backbone-min.js', 
          'js/project/models/models.js', 
          'js/project/views/newsTapeView.js', 
          'js/project/collections/collections.js', 
          'js/project/config.js'
        ],
        dest: 'js/production.js',
      }
    }

  });

  grunt.loadNpmTasks('grunt-contrib-concat');

  grunt.registerTask('default', ['concat']);

};

html:

    <script>
      window.APP = window.APP || {};
    </script>

    <script src="js/libs/jquery/jquery.2.min.js"></script>    
    <script src="js/libs/underscore-min.js"></script>
    <!-- <script src="js/libs/backbone-min.js"></script>   --> 

    <script src="js/production.js"></script>   

    <!-- <script src="js/project/config.js"></script>  -->
    <!-- <script src="js/project/models/models.js"></script>  -->
   <!--  <script src="js/project/views/newsTapeView.js"></script>     --> 
    <!-- <script src="js/project/collections/collections.js"></script>  -->

    <script>
      var app = new APP.NewsTapeView({el: '#newsTapeBox'});
    </script>    

При этом, если убрать из конфига grunt сжатие backbone-min.js, то всё работает без проблем. При этом, если вместо backbone-min.js пробовать сжимать другой файл(например underscore-min.js), проблема остаётся



Последнее исправление: prozaik (всего исправлений: 1)

сжать

таки сжать или склеить? потому что жмут uglifyjs`ом

То есть проблема в синтаксисе определения модели моего приложения. Конкретно здесь, в 4-ой строке:

чето мне кажется что нет

Скажу без ложной скромности, он идеальный

будь проще и люди потянутся (c)

у тебя есть 2 пути: залить твое творчество чтобы кто-то более опытный посмотрел или самому разобраться (step by step debug твоего результирующего файла)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.