Skip to content

Commit 1f4f21e

Browse files
committed
add a new babel branch. deprecating JSTransform and react-tools
1 parent 887591b commit 1f4f21e

File tree

19 files changed

+123
-76
lines changed

19 files changed

+123
-76
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
example/
2+
node_modules

README.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@ Then play with the source files under the repo's demo* directories.
1919
<html>
2020
<head>
2121
<script src="../build/react.js"></script>
22-
<script src="../build/JSXTransformer.js"></script>
22+
<script src="../build/browser.min.js"></script>
2323
</head>
2424
<body>
2525
<div id="example"></div>
26-
<script type="text/jsx">
26+
<script type="text/babel">
2727
2828
// ** Our code goes here! **
2929
@@ -59,7 +59,7 @@ React.render(
5959
);
6060
```
6161

62-
Please be minded that you have to use `<script type="text/jsx">` to indicate JSX codes, and include `JSXTransformer.js` to actually perform the transformation in the browser.
62+
Please be minded that you have to use `<script type="text/babel">` to indicate JSX codes, and include `browser.min.js` to actually perform the transformation in the browser. `browser.min.js` is a browser version of Babel which could be get inside a babel-core npm release.
6363

6464
## Demo02: Use JavaScript in JSX ([source](https://github.com/ruanyf/react-demos/blob/master/demo02/index.html))
6565

build/browser.min.js

+42
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

demo01/index.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
<html>
33
<head>
44
<script src="../build/react.js"></script>
5-
<script src="../build/JSXTransformer.js"></script>
5+
<script src="../build/browser.min.js"></script>
66
</head>
77
<body>
88
<div id="example"></div>
9-
<script type="text/jsx">
9+
<script type="text/babel">
1010
React.render(
1111
<h1>Hello, world!</h1>,
1212
document.getElementById('example')

demo02/index.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
<html>
33
<head>
44
<script src="../build/react.js"></script>
5-
<script src="../build/JSXTransformer.js"></script>
5+
<script src="../build/browser.min.js"></script>
66
</head>
77
<body>
88
<div id="example"></div>
9-
<script type="text/jsx">
9+
<script type="text/babel">
1010
var names = ['Alice', 'Emily', 'Kate'];
1111

1212
React.render(

demo03/index.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
<html>
33
<head>
44
<script src="../build/react.js"></script>
5-
<script src="../build/JSXTransformer.js"></script>
5+
<script src="../build/browser.min.js"></script>
66
</head>
77
<body>
88
<div id="example"></div>
9-
<script type="text/jsx">
9+
<script type="text/babel">
1010
var arr = [
1111
<h1>Hello world!</h1>,
1212
<h2>React is awesome</h2>,

demo04/index.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
<html>
33
<head>
44
<script src="../build/react.js"></script>
5-
<script src="../build/JSXTransformer.js"></script>
5+
<script src="../build/browser.min.js"></script>
66
</head>
77
<body>
88
<div id="example"></div>
9-
<script type="text/jsx">
9+
<script type="text/babel">
1010
var HelloMessage = React.createClass({
1111
render: function() {
1212
return <h1>Hello {this.props.name}</h1>;

demo05/index.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
<html>
33
<head>
44
<script src="../build/react.js"></script>
5-
<script src="../build/JSXTransformer.js"></script>
5+
<script src="../build/browser.min.js"></script>
66
</head>
77
<body>
8-
<script type="text/jsx">
8+
<script type="text/babel">
99
var NotesList = React.createClass({
1010
render: function() {
1111
return (

demo06/index.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
<html>
33
<head>
44
<script src="../build/react.js"></script>
5-
<script src="../build/JSXTransformer.js"></script>
5+
<script src="../build/browser.min.js"></script>
66
</head>
77
<body>
88
<div id="example"></div>
9-
<script type="text/jsx">
9+
<script type="text/babel">
1010
var MyComponent = React.createClass({
1111
handleClick: function() {
1212
React.findDOMNode(this.refs.myTextInput).focus();

demo07/index.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
<html>
33
<head>
44
<script src="../build/react.js"></script>
5-
<script src="../build/JSXTransformer.js"></script>
5+
<script src="../build/browser.min.js"></script>
66
</head>
77
<body>
88
<div id="example"></div>
9-
<script type="text/jsx">
9+
<script type="text/babel">
1010
var LikeButton = React.createClass({
1111
getInitialState: function() {
1212
return {liked: false};

demo08/index.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
<html>
33
<head>
44
<script src="../build/react.js"></script>
5-
<script src="../build/JSXTransformer.js"></script>
5+
<script src="../build/browser.min.js"></script>
66
</head>
77
<body>
8-
<script type="text/jsx">
8+
<script type="text/babel">
99
var Input = React.createClass({
1010
getInitialState: function() {
1111
return {value: 'Hello!'};

demo09/index.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
<html>
33
<head>
44
<script src="../build/react.js"></script>
5-
<script src="../build/JSXTransformer.js"></script>
5+
<script src="../build/browser.min.js"></script>
66
</head>
77
<body>
8-
<script type="text/jsx">
8+
<script type="text/babel">
99
var Hello = React.createClass({
1010
getInitialState: function () {
1111
return {

demo10/index.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
<html>
33
<head>
44
<script src="../build/react.js"></script>
5-
<script src="../build/JSXTransformer.js"></script>
5+
<script src="../build/browser.min.js"></script>
66
<script src="../build/jquery.min.js"></script>
77
</head>
88
<body>
9-
<script type="text/jsx">
9+
<script type="text/babel">
1010
var UserGist = React.createClass({
1111
getInitialState: function() {
1212
return {

demo11/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ This demo is copied from [github.com/mhart/react-server-example](https://github.
55
$ npm install
66

77
# translate all jsx file in src subdirectory to js file
8-
$ jsx src/ .
8+
$ npm run build
99

1010
# launch http server
1111
$ node server.js

demo11/app.js

+32-21
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,49 @@
1+
'use strict';
2+
13
var React = require('react');
24

3-
module.exports = React.createClass({displayName: "exports",
5+
module.exports = React.createClass({
6+
displayName: 'exports',
47

5-
getInitialState: function() {
8+
getInitialState: function getInitialState() {
69
return {
710
items: this.props.items,
811
disabled: true
9-
}
12+
};
1013
},
1114

12-
componentDidMount: function() {
15+
componentDidMount: function componentDidMount() {
1316
this.setState({
1417
disabled: false
15-
})
18+
});
1619
},
1720

18-
handleClick: function() {
21+
handleClick: function handleClick() {
1922
this.setState({
2023
items: this.state.items.concat('Item ' + this.state.items.length)
21-
})
24+
});
2225
},
2326

24-
render: function() {
25-
return (
26-
React.createElement("div", null,
27-
React.createElement("button", {onClick: this.handleClick, disabled: this.state.disabled}, "Add Item"),
28-
React.createElement("ul", null,
29-
30-
this.state.items.map(function(item) {
31-
return React.createElement("li", null, item)
32-
})
33-
34-
)
27+
render: function render() {
28+
return React.createElement(
29+
'div',
30+
null,
31+
React.createElement(
32+
'button',
33+
{ onClick: this.handleClick, disabled: this.state.disabled },
34+
'Add Item'
35+
),
36+
React.createElement(
37+
'ul',
38+
null,
39+
this.state.items.map(function (item) {
40+
return React.createElement(
41+
'li',
42+
null,
43+
item
44+
);
45+
})
3546
)
36-
)
37-
},
38-
});
47+
);
48+
}
49+
});

demo11/browser.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1+
'use strict';
2+
13
var React = require('react');
24
var App = require('./app');
35

4-
React.render(React.createElement(App, {items: window.APP_PROPS.items}), document.getElementById('content'));
6+
React.render(React.createElement(App, { items: window.APP_PROPS.items }), document.getElementById('content'));

demo11/package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
"description": "an example of react.js in server",
55
"main": "server.js",
66
"scripts": {
7+
"build": "babel -d . src/",
78
"test": "echo \"Error: no test specified\" && exit 1"
89
},
910
"author": "ruanyf",
@@ -14,6 +15,6 @@
1415
"react": "~0.13.1"
1516
},
1617
"devDependencies": {
17-
"react-tools": "~0.13.1"
18+
"babel": "~5.8.21"
1819
}
1920
}

demo11/server.js

+18-28
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,38 @@
1+
'use strict';
2+
13
var http = require('http'),
24
browserify = require('browserify'),
35
literalify = require('literalify'),
46
React = require('react');
57

68
var App = require('./app');
79

8-
http.createServer(function(req, res) {
10+
http.createServer(function (req, res) {
911
if (req.url == '/') {
1012
res.setHeader('Content-Type', 'text/html');
1113
var props = {
12-
items: [
13-
'Item 0',
14-
'Item 1'
15-
]
14+
items: ['Item 0', 'Item 1']
1615
};
17-
var html = React.renderToStaticMarkup(
18-
React.createElement("body", null,
19-
React.createElement("div", {id: "content", dangerouslySetInnerHTML: {__html:
20-
React.renderToString(React.createElement(App, {items: props.items}))
21-
}}), ",",
22-
23-
React.createElement("script", {dangerouslySetInnerHTML: {__html:
24-
'var APP_PROPS = ' + JSON.stringify(props) + ';'
25-
}}),
26-
React.createElement("script", {src: "//fb.me/react-0.13.1.min.js"}),
27-
React.createElement("script", {src: "/bundle.js"})
28-
)
29-
);
16+
var html = React.renderToStaticMarkup(React.createElement(
17+
'body',
18+
null,
19+
React.createElement('div', { id: 'content', dangerouslySetInnerHTML: { __html: React.renderToString(React.createElement(App, { items: props.items }))
20+
} }),
21+
',',
22+
React.createElement('script', { dangerouslySetInnerHTML: { __html: 'var APP_PROPS = ' + JSON.stringify(props) + ';'
23+
} }),
24+
React.createElement('script', { src: '//fb.me/react-0.13.3.min.js' }),
25+
React.createElement('script', { src: '/bundle.js' })
26+
));
3027
res.end(html);
31-
3228
} else if (req.url == '/bundle.js') {
3329
res.setHeader('Content-Type', 'text/javascript');
34-
browserify()
35-
.add('./browser.js')
36-
.transform(literalify.configure({react: 'window.React'}))
37-
.bundle()
38-
.pipe(res);
39-
30+
browserify().add('./browser.js').transform(literalify.configure({ react: 'window.React' })).bundle().pipe(res);
4031
} else {
4132
res.statusCode = 404;
4233
res.end();
4334
}
44-
}).listen(3000, function(err) {
35+
}).listen(3000, function (err) {
4536
if (err) throw err;
4637
console.log('Listening on 3000...');
47-
})
48-
38+
});

demo11/src/server.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ http.createServer(function(req, res) {
2323
<script dangerouslySetInnerHTML={{__html:
2424
'var APP_PROPS = ' + JSON.stringify(props) + ';'
2525
}}/>
26-
<script src="//fb.me/react-0.13.1.min.js"/>
26+
<script src="//fb.me/react-0.13.3.min.js"/>
2727
<script src="/bundle.js"/>
2828
</body>
2929
);

0 commit comments

Comments
 (0)