Vue 프로젝트에서 웹 팩을 사용하여 jsx 구문을 작성하는 방법에 대해 자세히 설명합니다.

이 문서에서는 다음과 같이 vue 프로젝트에서 웹 팩을 사용하여 jsx 구문을 작성하고 공유하는 방법에 대해 설명합니다.

우리는 Vue 2.0 에서 가상 DOM 에 대한 지원을 알고 있다. 템플릿에 HTML 코드를 작성하지 않고도 JavaScript 를 통해 동적으로 요소를 만들 수 있습니다. 가상 DOM 은 결국 실제 DOM 으로 렌더링됩니다.

데이터: {

MSG: "안녕하세요, 세계"

},

렌더링 (h) {

H (

Div' ,

{attrs: {id:' 내 id'},

[this.msg]

);

}

제공되는 내용은 다음과 같습니다.

& ltdiv id =' my-id'>;; Hello world & lt/div & gt;;

Vue 2.0 의 렌더링은 우리에게 무한한 상상력의 공간을 제공하는 새로운 세계를 열어 주었다. 예를 들어 React 에 사용된 JSX 구문을 Vue 에 적용할 수 있습니다. 다음으로 Vue 프로젝트에서 JSX 를 사용하는 방법에 대해 살펴보겠습니다.

JSX 소개

JSX 는 자바스크립트 코드에 XML 구문 스타일의 코드를 삽입할 수 있는 자바스크립트 기반 언어 확장입니다. 다음과 같습니다.

데이터: {

메시지: "안녕, 세상"

},

렌더링 (h) {

반환 (

& ltdiv id =' my-id'>;; 그리고,

{this.msg}

& lt/div & gt;;

);

}

그러나 브라우저는 기본적으로 JSX 를 구문 분석할 수 없으며 표준 JavaScript 코드로 컴파일해야 실행할 수 있습니다. 우리가 sass 또는 그 이하의 것을 CSS 코드로 컴파일해야 실행할 수 있는 것처럼.

Vue 에서 JSX 사용

Vue 프레임워크는 JSX 를 특별히 지원하지 않습니다. 실제로 JSX 는 결국 표준 JavaScript 코드로 컴파일되기 때문에 지원이 필요하지 않습니다. 그렇다면 Vue 와 JSX 를 함께 사용할 수 있는 이유는 무엇입니까? Vue 가 가상 DOM 을 지원하기 때문에 JSX 또는 기타 사전 처리 언어를 사용할 수 있습니다. 단, render 방법이 제대로 작동하는지 확인할 수 있는 한 간단합니다.

Vue 는 BBEL-Plugin-Transform-Vue-jsx 라는 플러그인을 제공하여 JSX 를 컴파일한 후 사용 방법을 설명합니다.

Vue 에서 JSX 를 사용하는 이유는 무엇입니까?

Vue 에서 JSX 를 사용하는 이유는 무엇입니까? 사실, Vue 는 JSX 를 사용하도록 강요하지 않습니다. 단지 새로운 방법일 뿐입니다. 속담에도 있듯이, 무 채소는 각각 사랑이 있다. Render 메서드에서 JSX 를 사용하는 것이 더 간결하다고 생각하는 사람들도 있고, HTML 코드와 JavaScript 코드를 혼합하는 것이 역겹다고 생각하는 사람들도 있다. 어차피 좋아하면 쓰고, 싫으면 쓰지 않는다. 늦지 말고 간단한 응용 프로그램을 살펴 보겠습니다.

Script.js

새 vue (

엘:' # 앱',

데이터: {

메시지: "메시지를 보려면 클릭하십시오."

},

방법: {

안녕하세요 () {

Alert ("이것은 메시지입니다.")

}

}

});

Index.html

& ltdiv id = "app">

& lt 스팬

클래스 = "내 클래스"

Style="cursor: pointer "

V-on: click = "헬로"

& gt

{{ msg }}

& lt/span>.

& lt/div & gt;;

코드는 간단합니다. 페이지에 "메시지를 보려면 클릭" 하는 span 을 표시하는 것입니다. 내용을 클릭하면 경고가 나타납니다. Render 를 사용하여 구현하는 방법을 살펴 보겠습니다.

Vue 2.0 의 렌더링 기능을 사용하여 구현됩니다.

Script.js

새 vue (

엘:' # 앱',

데이터: {

메시지: "메시지를 보려면 클릭하십시오."

},

방법: {

안녕하세요 () {

Alert ("이것은 메시지입니다.")

}

},

렌더링 (createElement) {

CreateElement (

팬',

{

클래스: {'my-class': true},

스타일: {cursor: 'pointer'},

켜기: {

클릭: this.hello

}

},

[this.msg]

);

},

});

Index.html

& ltdiv id = "app">& lt! -span 은 여기에-> & lt/div & gt;;

JSX 를 사용하여 구현

Script.js

새 vue (

엘:' # 앱',

데이터: {

메시지: "메시지를 보려면 클릭하십시오. 클릭합니다

},

방법: {

안녕하세요 () {

Alert ('이것은 메시지입니다.' ) 을 참조하십시오

}

},

렌더링: 함수 렌더링 (h) {

반환 (

& lt 스팬

Class = {'my-class': true}}

Style={{ cursor: 'pointer' }}

클릭 ={ this.hello}

& gt

{this.msg}

& lt/span>.

) 을 참조하십시오

}

});

Index.html 위와 같습니다.

바벨-플러그인-변환 -vue-jsx

앞서 언급했듯이 JSX 를 실행하려면 JavaScript 로 컴파일해야 하므로 세 번째 샘플에는 추가 컴파일 단계가 필요합니다. 여기서 우리는 Babel 과 Webpack 으로 컴파일합니다.

Webpack.config.js 파일을 열고 babel loader 를 추가합니다.

로더: [

{테스트:/\. Js$/, loader: 'babel', exclude: /node_modules/}

] 을 참조하십시오

을 (를) 만들거나 수정합니다. Babelrc 파일 및 플러그인 babel-plugin-transform-vue-jsx 를 추가합니다.

{

사전 설정: ["es 2015"],

플러그인: ["transform-vue-jsx"]

}

이제 웹 팩을 실행하면 코드의 JSX 가 표준 JavaScript 코드로 올바르게 컴파일됩니다.