2016-10-23 7 views
0

Typescript를 사용하여 Markdown을 구문 분석 할 수있는 방법이 있습니까? Typescript와 대응하는 Markdown

내가 좋아하는 일을하려고 :

import * as ReactMarkdown from 'react-markdown' 
// OR 
import ReactMarkdown = require('react-markdown') 

그러나 타이프 라이터가 FINT 모듈의 반응-인하 '를 할 수가 정의되어 있지 않은 것 같이

Error: TS2307: Cannot find module 'react-markdown'.

을 내가 모듈을 정의 할 수있는 방법과 React 구성 요소로 사용 하시겠습니까? 계정이없는 경우

+0

어딘가에'react-markdown'이 있습니까? npm을 사용하여 설치 했습니까? 다운로드 했습니까? –

+0

실제 패키지에는 문제가 없으므로 TypeScript가 모듈에 대해 알지 못하도록 선언 파일이 누락되었습니다. 슬프게도, DefinitelyTyped에는 하나가없는 것 같습니다. 그래서 당신은 * react-markdown.d.ts *를 직접 만들어야합니다. – noppa

+0

그러한 파일을 만드는 방법을 알고 있습니까? – NiklasMH

답변

1

. 그들은 타이핑과 내 환경에 필요한 모든 것을 가지고 있습니다.

또한
import { HtmlRenderer, Parser } from 'commonmark' 

export class MyComponent extends React.Component<{}, {}> { 
    private post: string 

    constructor() { 
    super() 
    let parser = new Parser() 
    let renderer = new HtmlRenderer() 
    this.post = renderer.render(parser.parse("**works** like a charm!")) 
    } 

    render() { 
    return (
     <div dangerouslySetInnerHTML={ {__html: this.post} } /> 
    ) 
    } 
} 

commonmark의 typings를 추가하는 것을 잊지 마세요 : 여기 내 구현은 도움이하려고했던 사람들에게

$ typings install --global --save dt~commonmark 

감사합니다!

-1

하는 반응-인하와 JSON 로더를 설치

npm install --save react-markdown 
npm install --save json-loader 

이 웹팩 설정에 로더를 추가

{ 
    module: { 
    loaders: [{ 
     test: /\.json$/, 
     loader: 'json' 
    }] 
    } 
} 

가져 오기 반응 - 인하. 그것은 다음 중 하나를 같이한다 : 내가 대신 commonmark 패키지를 사용하여 내 문제를 해결

var ReactMarkdown = require('react-markdown'); 

// es6 
import ReactMarkdown from 'react-markdown'; 
+0

'react-markdown'모듈을 입력 할 때 찾을 수 없기 때문에 여전히 찾을 수 없습니다. [오류 : TS2307 : 'react-markdown'모듈을 찾을 수 없습니다.]하지만 도움을 주셔서 감사합니다! – NiklasMH

관련 문제