Странная проверка Javascript в Dreamweaver CC

Я установил Dreamweaver CC 2015 и обнаружил, что у меня есть множество ошибок в моих рабочих файлах JavaScript. Также У меня есть множество ошибок в импортированных библиотеках JavaScript, включая jQuery.

наиболее важной "ошибкой" является эта в начале каждой рабочей функции:

Missing "use strict" statement.

он работал довольно хорошо без "use strict", и я никогда даже не видел этого заявления нигде.

еще один странный вопрос:

Extending prototype of native object: 'Array'.

здесь код, который провоцирует предупреждение:

Array.prototype.sortOn = function(key){
    this.sort(function(a, b){
        if(a[key] < b[key]){
            return -1;
        }else if(a[key] > b[key]){
            return 1;
        }
        return 0;
    });
};

Итак, мои варианты:

  1. Ditch Dreamweaver и использовать другую IDE (хуже всего, потому что она отлично работает для моих целей - я единственный разработчик HTML/CSS/JS/PHP/MySQL в моем проекте.
  2. исправить все ошибки как Dreamweaver хочет, потому что он имеет хорошую точку. Тогда объясните, пожалуйста, почему? Я в порядке с изменением "= = "на"===", добавляя " var "перед объявлениями переменных, не используя "return" после " if " без фигурных брекеты, но это "строгое использование" меня беспокоит.
  3. настроить проверку JavaScript, поэтому отображаются только критические ошибки - лучший вариант для меня, но я не знаю, как это сделать?

какой лучший вариант пойти с? Любая помощь очень ценится.

2 ответов


вот что я выяснил.

проблема заключалась в том, что я не знал о решениях JSHint и JSLint для проверки javascript. JSHint интегрирован в Dreamweaver CC и легко настраивается, если вы знаете, что делать.

Обычно JSHint имеет три способа настроить его, но они не работают в среде Dreamweaver.

что вы должны сделать, это:

  • в верхнем меню выберите Правка -> Настройки (Dreamweaver -> настройки на Mac)
  • выбрать "пылеобразования" в боковом меню.
  • выберите " JS "и нажмите"Редактировать и сохранять изменения".
  • файл JS.jshintrc будет открыт в Dreamweaver.
  • редактировать файл, как вы обычно (см. параметры JSHint) и сохранить.

в моем конкретном случае я изменил это:

"strict":false,
"undef":false,
"unused":false

...это означает, что мне не нужно везде ставить "use strict" и может уйти определение и использование переменных в разных файлах. Да, я не использую функции обертки и использую много глобалов. Да, я знаю, что это плохо, но рефакторинг это не самый высокий приоритет в моем графике.

конечно, я изменю все три эти опции на "true" и рефакторинг всех моих файлов JS, чтобы соответствовать стандартам, когда придет время.


отключение проверки "undef" - это кувалда, так как JSHint будет игнорировать все опечатки имен переменных и функций. Вы не найдете опечатку до времени выполнения, что раздражает и тратит время.

вместо того, чтобы полностью отключить сообщения "undef", я использовал У JSHint Встроенные Директивы в верхней части моего .файлы js. Например:

/* globals myGlobalVar, myGlobalFunction */
var myLocalVar = myGlobalVar;
myGlobalFunction();

с директивой globals в файле JSHint не будет отмечать myGlobalVar или myGlobalFunction() как не определено ошибки. Использование встроенных директив" globals " имеет дополнительное преимущество документирования зависимостей между вашими .файлы js.

читайте о встроенных директивах JSHint здесь:

http://jshint.com/docs/#inline-configuration