在上一篇,我們簡單學習了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文件,打開頁面就可以看到效果了。
相關資料來源:
