2014-11-13 5 views
0

Был счастлив работать с LESS в течение нескольких недель, используя зависимость grunt-contrib-less (version 0.11.4) в моем пакете.json и инициализируя его в файле grunt. Карта создается встроенным в конце окончательным minified styles.css.Почему мой встроенный LESS sourceMap прерывается?

Я был отстранен от этого проекта в течение нескольких недель, и когда я вернулся к нему, внезапно ни один из моих браузеров не смог отобразить номера номеров LESS, и каждый стиль отобразится в строке 1 (или, точнее, линии 5, поскольку сгенерированный файл имеет несколько строк в начале).

CSS компилируется отлично, и исходная карта явно присутствует в конце файла, но я больше не могу проверять и отлаживать файлы LESS в инструментальных средствах любого браузера.

У меня была некоторая внешняя помощь, сначала создающая файл grunt, и, к сожалению, эта помощь больше не доступна. Я новичок в Grunt и JSON и официально над головой. Как, черт возьми, я нарушил это? Я действительно не возился с включенным кодом, но я не уверен, что еще может вызвать проблемы с SourceMap.

Вот мой код хрюкать файла:

module.exports = function(grunt) { 

    grunt.initConfig({ 
    less: { 
     development: { 
     options: { 
      paths: ["less"], 
      sourceMap: true, 
      compress: true 
     }, 
     files: { 
      "dist/css/styles.css": "less/styles.less" 
     } 
     } 
    }, 
    watch: { 
     styles: { 
     files: ["less/*.less"], 
     tasks: ["less"] 
     }, 
     javascripts: { 
     files: ["js/**.js"], 
     tasks: ['build'] 
     } 
    }, 
    shell: { 
     addstory: { 
      command: function(arg) { 
      return 'node node_scripts/addstory.js ' + arg; 
      } 
     } 
    }, 
    concat: { 
     dist: { 
     src: ["js/lib/ie10-viewport-bug-workaround.js","js/lib/lazyload.min.js", "js/lib/jquery.dotdotdot.min.js", "js/lib/pointerevents.js", "js/lib/megafolio/js/jquery.themepunch.plugins.min.js", "js/lib/megafolio/js/jquery.themepunch.megafoliopro.js", "js/app.js"], 
     dest: 'dist/js/main.js' 
     } 
    }, 
    uglify: { 
     options: { 
     mangle: false 
     }, 
     dist: { 
     files: { 
      'dist/js/main.min.js': ['dist/js/main.js'] 
     } 
     } 
    } 
    }); 

    grunt.loadNpmTasks('grunt-shell'); 
    grunt.loadNpmTasks('grunt-contrib-uglify'); 
    grunt.loadNpmTasks('grunt-contrib-jshint'); 
    grunt.loadNpmTasks('grunt-contrib-watch'); 
    grunt.loadNpmTasks('grunt-contrib-concat'); 
    grunt.loadNpmTasks('grunt-contrib-less'); 

    grunt.registerTask('addstory', function(arg) { 
    if (arg === undefined) { 
     throw new Error('NO HTML FILE SPECIFIED!') 
    } else { 
     grunt.task.run('shell:addstory:'+arg); 
    } 
    }); 

    grunt.registerTask('build', ['concat', 'uglify']); 

}; 

И package.json:

{ 
    "name": "ilium-web-bootstrap-team-ec", 
    "version": "0.0.0", 
    "description": "the ilium website redesign", 
    "main": "dist/index.html", 
    "dependencies": { 
    "grunt": "^0.4.5", 
    "grunt-contrib-clean": "^0.5.0", 
    "grunt-contrib-compress": "^0.11.0", 
    "grunt-contrib-concat": "^0.4.0", 
    "grunt-contrib-connect": "^0.8.0", 
    "grunt-contrib-copy": "^0.5.0", 
    "grunt-contrib-csslint": "^0.2.0", 
    "grunt-contrib-cssmin": "^0.10.0", 
    "grunt-contrib-jshint": "^0.10.0", 
    "grunt-contrib-less": "^0.11.4", 
    "grunt-contrib-uglify": "^0.5.1", 
    "grunt-contrib-watch": "^0.6.1", 
    "grunt-shell": "^1.1.1", 
    "jquery": "^2.1.1", 
    "jsdom": "^0.11.1", 
    "prompt": "^0.2.14" 
    }, 
    "devDependencies": {}, 
    "scripts": { 
    "test": "echo \"Error: no test specified\" && exit 1" 
    }, 
    "repository": { 
    "type": "git", 
    "url": " " 
    }, 
    "author": "matt kristiansen and ryan juve", 
    "license": "ISC" 
} 

Я надеюсь, что я сделал какую-то общую ошибку, которая приводит к неспособности видеть МЕНЬШЕ в dev. Любые указания?

ответ

1

Хорошо, но урок здесь состоит в том, чтобы действительно заметить, когда ваш компилятор LESS прерывается из-за синтаксических ошибок. Это как-то ускользнуло от моего внимания.

Выключает отсутствующую закрывающуюся фигурную скобку, будет разорвать исходные карты, что имеет смысл.

Спасибо всем.

+0

И все же ... как ни странно, после работы еще пару часов я снова потерял номера линии LESS, но на этот раз без ошибок компиляции. Еще более странно, я получаю номера строк CSS (строка 5: столбец 180000-что-то) для всего, кроме одного или двух правил, расположенных в меньшем количестве файлов. В этот момент моя голова взорвалась. Какие? Безумие. –