Отключите «использовать функцию в форме использования строгого», но сохраняйте предупреждение «Отсутствует« использовать строгий »оператор» - PullRequest
11 голосов
/ 21 января 2012

Я использую jslint для проверки моего кода.
Я "использую строгий" на всех своих страницах.
Как я могу отключить сообщение «использовать форму функции« использовать строгий »», но оставить предупреждение «Отсутствует» использовать строгий «оператор», чтобы не забыть поместить его в новые файлы?

Спасибо

Ответы [ 4 ]

14 голосов
/ 21 января 2012

Согласно сообщению Крокфорда , вы захотите обернуть все в функцию ...

(function () {
    "use strict";
    // the rest of your file goes here...
}());

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

2 голосов
/ 21 января 2012

Не может быть сделано без изменения файла javascript, который управляет jslint.

Для меня функциональная форма - это капризная рабочая практика, поэтому не может навязывать другим.

Не всем нужно объединять и минимизировать, но даже если бы я это сделал, я бы объединил код, который применял те же правила, поэтому было бы достаточно выражения файла.

Хотя jshint обладает именно той функцией, которая вам требуется.Последняя версия jslint теперь более продвинутая, чем jshint, обнаруживая больше слабых мест и справляясь с более сложным кодом.Мне нравится jshint, но он не поспевает за jslint.

0 голосов
/ 12 февраля 2014

Вот хак для подавления «Использовать форму функции« используйте строгий ».»

    $ uname -a
    Darwin 13.0.0 Darwin Kernel Version 13.0.0
  1. Выясните, где находится ваш дистрибутив jslint.

    $ which jslint
    /usr/local/bin/jslint
    $ ls -l /usr/local/bin/jslint
    lrwxr-xr-x  1 root  admin  40 11 Feb  2013 /usr/local/bin/jslint -> ../lib/node_modules/jslint/bin/jslint.js
    $ cd /usr/local/lib/node_modules/jslint/
    $ ls
    LICENSE     README.md   lib     package.json
    Makefile    bin     node_modules
    
  2. Закомментируйте предупреждение.

    $ sudo vim lib/jslint.js
    
    search for 'function_strict'
    comment out the line 'warn('function_strict');'
    note: the exact line might vary on some versions but just comment it out.
    
  3. Если оно не работает, возможно, у вас установлено несколько версий jslint и установленоНе отредактировано правильное.

    sudo find / -name jslint.js
    
0 голосов
/ 07 июня 2013

Решение, которое я нашел для этого, состояло в том, чтобы создать однострочный файл с «use strict»; и ничего больше

Создайте первый файл в вашем пакете конкатенации, добавьте его в список исключений jslint, переключите sloppy = true pragma

Могут быть некоторые побочные эффекты, связанные с нехваткой неаккуратного кода, но я понимаю, что документы просто проверяют «строгое использование»; линия

...