Aşağıdaki anahtarlama örneği deyiminde olduğu gibi yazım hataları yakalamak mümkün mü?Javascript içe aktarma tanıtıcısı undefined
Tercih edilen yol, bir uyarı/hata bildirmek olmalıdır. Şu anda için const
eklenmesi, tanımlanmamışsa çalışma zamanında bir TypeError
yükseltmek için kullanılabilir.
actionTypes.js
export const UPDATE_REQUEST = 'UPDATE_REQUEST';
reducer.js
import * as types from '../constants/actionTypes';
export default function pouchdbReducer(state = {}, action) {
switch (action.type) {
case types.UPDDATE_REQUEST:
// there is a typo above and it evaluates to `undefined`
// this code would never be reached - how to make it an error
return Object.assign({}, state, {updated: true});
default:
return state;
}
}
GÜNCELLEME: @ nikc.org gibi
namespace seçeneğiyle eslint-plugin-import böyle hatalar tüylenme kullanılabilir cevap verdi. eslint config
https://github.com/bmihelac/test-js-import-undefined/tree/eslint-plugin-import
İlgili parçasıdır: Burada
yapılandırma ve demo ile küçük depo olduğunu"plugins": ["import"],
"rules": {
"import/namespace": [2],
Peki, bu gibi hataları yakalamaya çalışırken sorun, mutlaka bir hata değil. Kodla ilgili yanlış bir şey yok, başka bir deyişle JavaScript kurallarına göre. – Pointy
@Pointy es6 modülleri olarak statik Bazı istatistik analizcilerin bu gibi yazım hataları bulabileceğini umuyorum. – bmihelac
Doğru, muhtemelen akıllı statik analizin en azından yanlış yazılan sabitin yokluğunu fark edeceğidir. – Pointy