2012-01-21 26 views
11

Tôi đang sử dụng jslint để xác thực mã của mình.
Tôi đã "sử dụng nghiêm ngặt" trên tất cả các trang của mình.
Làm cách nào để vô hiệu hóa thông báo "sử dụng mẫu chức năng 'sử dụng nghiêm ngặt'" nhưng giữ "Thiếu" sử dụng cảnh báo "tuyên bố" nghiêm ngặt, vì vậy tôi sẽ không quên đặt nó trên các tệp mới?Tắt "sử dụng mẫu chức năng sử dụng nghiêm ngặt" nhưng giữ "Thiếu" sử dụng cảnh báo nghiêm ngặt "tuyên bố"

Cảm ơn

Trả lời

2

Không thể thực hiện được nếu không thay đổi tệp javascript.

Đối với mẫu chức năng của tôi là một thực hành làm việc cáu kỉnh, do đó không thể ép buộc người khác.

Không phải ai cũng cần kết hợp và rút gọn, nhưng ngay cả khi tôi đã kết hợp mã áp dụng cùng một quy tắc, do đó một tuyên bố tệp sẽ là đủ.

Mặc dù jshint có chính xác tính năng bạn yêu cầu. Jslint mới nhất hiện nay cao cấp hơn jshint, phát hiện nhiều điểm yếu hơn và đối phó với mã phức tạp hơn. Tôi thích jshint nhưng nó không theo kịp với jslint.

14

Theo Crockford's post, bạn sẽ muốn quấn tất cả mọi thứ trong một chức năng ...

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

Bạn cũng có thể sử dụng jshint thay vào đó, trong đó có một "globalstrict" tùy chọn có thể thực hiện chính xác những gì bạn đang yêu cầu mà không cần phải bọc mọi thứ trong một hàm

+2

"Nếu một tập tin với một 'sử dụng nghiêm ngặt'; lời mở đầu đã đang luộm thuộm nối vào nó, mã luộm thuộm sẽ được xử lý như nghiêm ngặt và có lẽ sẽ thất bại." Đây là khi bạn sẽ muốn đặt nó vào một hàm. Không phải lúc nào. Tất cả các mã của tôi là nghiêm ngặt, vì vậy không sử dụng cho tôi. –

+0

Bạn đã kiểm tra jshint như tôi đã đề xuất thay vào đó? –

0

Giải pháp mà tôi tìm được cho điều này là tạo một tệp dòng đơn với "sử dụng nghiêm ngặt"; và không có gì khác

Make rằng file đầu tiên trong gói nối của bạn, thêm nó vào JSLint của danh sách loại trừ, chuyển cẩu thả = pragma đúng

Có thể có một số tác dụng phụ xung quanh không nhặt đang luộm thuộm, nhưng hiểu biết của tôi của tài liệu là nó chỉ kiểm tra "sử dụng nghiêm ngặt"; line

-3

Đây là một hack để ngăn chặn "Sử dụng các hình thức chức năng của 'sử dụng nghiêm ngặt'."

$ uname -a 
    Darwin 13.0.0 Darwin Kernel Version 13.0.0 
  1. Hình ra nơi phân phối JSLint của bạn.

    $ 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. Nhận xét cảnh báo.

    $ 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. Nếu không hoạt động, có thể bạn đã cài đặt nhiều phiên bản jslint và chưa chỉnh sửa đúng phiên bản.

    sudo find/-name jslint.js 
    
Các vấn đề liên quan