2017-04-07 3 views
2

Flowtype을 사용하려고하지만 하위 패키지를 가져 오는 중입니다.flowtype은 개별 패키지 가져 오기를 찾을 수 없음으로 표시합니다.

import isArray from 'lodash/isArray'; 

my eslint가 필요한 모듈을 찾을 수 없다고 불평하고 있습니다.

이미 찾을 수있는 모든 lib def를 설치하기 위해 flow-typed install을 사용했습니다.

어떻게 해결할 수 있습니까?

감사합니다.

+0

'가져 오기 {isArray}'에서 'lodash'할 때 작동합니까? libdef가 모듈 이름 'lodash/isArray'를 처리하는 것처럼 보이지 않습니다. –

+0

@LewisChung 지연을 위해 유감스럽게 생각합니다. * 작동합니다. –

답변

2

흐름은 lodash/isArray을 자체 모듈로 처리하므로 해당 모듈의 내보내기가 무엇인지 알려야합니다.

lodash libdef를 수정하여 lodash/isArray으로 내 보냅니다. 당신은이 같은이 작업을 수행 할 수 있습니다

는 (필자는 LIBDEF의 부분 집합을 추출하고 변경해야 무엇을 보여 주었다)

declare module 'lodash/isArray' { 
    declare function isArray(value: any): bool; 

    declare module.exports: typeof isArray 
} 

declare module 'lodash' { 
    declare class Lodash { 
    isArray: $Exports<'lodash/isArray'> 
    } 

    declare var exports: Lodash; 
} 

당신은 어떤 질문이 있으면 알려주세요.

사람들이 당신이하고있는 것처럼 lodash 모듈을로드하는 것이 정상적인 경우 전체 libdef를 업데이트하여이 사용 사례를 지원해야합니다.

+0

안녕하세요, 고마워요! –

0

먼저 흐름은 ESLint가 아닙니다. 그들은 두 개의 분리 된 도구입니다. flow-typed install은 일반적으로 ESLint 오류에 영향을주지 않습니다. 당신은 실제로 lodash를 설치하지 않은

  1. : 당신의 질문의 정보를 바탕으로

    , 나는 두 possiblities를 참조하십시오. 이 파일이 package.json에 종속성으로 나열되고 npm install을 실행하십시오.
  2. ESLint를 통해 플로 오류를 처리하고 있지만 (권장하지 않지만) libdef에 lodash의 문제가 있습니다. 이 경우 libdef를 조정할 수있는 방법을 알아 내야합니다.
+1

Thanks Nat. 1) lodash는 실제로'npm i -S'2입니다. 2) 유동적 인 libdef와이 질문의 루트 인 lodash 사이에 문제가 있습니다. 어떻게 libdef를 조정할 수 있습니까? ". –

관련 문제