在上一篇,我們簡單學習了webpack學習,現在這里我們簡單學習一下react+babel+webpack,進行編譯react語法jsx以及結合es6寫法。
這里我就簡單的直接上demo:
package.json文件:
{ "name": "react-sample", "version": "1.0.0", "description": "webpack demo", "main": "./src/entry.js", "scripts": { "build": "webpack --display-error-details" }, "repository": { "type": "git", "url": "https://github.com/dwqs/react_practice.git" }, "keywords": [ "react", "webpack" ], "author": "pomy", "devDependencies": { "react": "^0.13.3", "webpack": "^1.12.2", "babel-core": "^5.8.25", "babel-loader": "^5.3.2" } }
webpack.config.js配置文件:
var path = require('path'); module.exports = { entry: path.resolve(__dirname, './src/entry.js'), output: { path: path.resolve(__dirname, './assets'), filename: 'bundle.js' }, module: { //加載器配置 loaders: [ { test: /\.js?$/, loaders: ['babel'], exclude: /node_modules/ }, { test: /\.js$/, loader: 'babel-loader', exclude: /node_modules/} ] }, resolve:{ //自動擴展文件后綴名,意味着我們require模塊可以省略不寫后綴名 extensions:['','.js','.json'] }, };
entry.js入口文件:
import React from 'react'; import { render } from 'react-dom'; //import Hello from './hello'; var HelloMessage = React.createClass({ render: function() { return <h1>Hello {this.props.name}</h1>; } }); render( <HelloMessage name="John" />, document.getElementById('example') );
index.js:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>React Sample</title> </head> <body> <div id="example"></div> <script src="./assets/bundle.js"></script> </body> </html>
當我們文件夾有以上文件時,我們就可以執行,npm install (簡寫npm i)以及npm build 就可以編譯es6寫的jsx文件,打開頁面就可以看到效果了。
相關資料來源: