Skip to content

Commit

Permalink
add a new babel branch. deprecating JSTransform and react-tools
Browse files Browse the repository at this point in the history
  • Loading branch information
ruanyf committed Aug 18, 2015
1 parent 887591b commit 1f4f21e
Show file tree
Hide file tree
Showing 19 changed files with 123 additions and 76 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
example/
node_modules
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,11 @@ Then play with the source files under the repo's demo* directories.
<html>
<head>
<script src="../build/react.js"></script>
<script src="../build/JSXTransformer.js"></script>
<script src="../build/browser.min.js"></script>
</head>
<body>
<div id="example"></div>
<script type="text/jsx">
<script type="text/babel">
// ** Our code goes here! **
Expand Down Expand Up @@ -59,7 +59,7 @@ React.render(
);
```

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.
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.

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

Expand Down
42 changes: 42 additions & 0 deletions build/browser.min.js

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions demo01/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
<html>
<head>
<script src="../build/react.js"></script>
<script src="../build/JSXTransformer.js"></script>
<script src="../build/browser.min.js"></script>
</head>
<body>
<div id="example"></div>
<script type="text/jsx">
<script type="text/babel">
React.render(
<h1>Hello, world!</h1>,
document.getElementById('example')
Expand Down
4 changes: 2 additions & 2 deletions demo02/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
<html>
<head>
<script src="../build/react.js"></script>
<script src="../build/JSXTransformer.js"></script>
<script src="../build/browser.min.js"></script>
</head>
<body>
<div id="example"></div>
<script type="text/jsx">
<script type="text/babel">
var names = ['Alice', 'Emily', 'Kate'];

React.render(
Expand Down
4 changes: 2 additions & 2 deletions demo03/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
<html>
<head>
<script src="../build/react.js"></script>
<script src="../build/JSXTransformer.js"></script>
<script src="../build/browser.min.js"></script>
</head>
<body>
<div id="example"></div>
<script type="text/jsx">
<script type="text/babel">
var arr = [
<h1>Hello world!</h1>,
<h2>React is awesome</h2>,
Expand Down
4 changes: 2 additions & 2 deletions demo04/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
<html>
<head>
<script src="../build/react.js"></script>
<script src="../build/JSXTransformer.js"></script>
<script src="../build/browser.min.js"></script>
</head>
<body>
<div id="example"></div>
<script type="text/jsx">
<script type="text/babel">
var HelloMessage = React.createClass({
render: function() {
return <h1>Hello {this.props.name}</h1>;
Expand Down
4 changes: 2 additions & 2 deletions demo05/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
<html>
<head>
<script src="../build/react.js"></script>
<script src="../build/JSXTransformer.js"></script>
<script src="../build/browser.min.js"></script>
</head>
<body>
<script type="text/jsx">
<script type="text/babel">
var NotesList = React.createClass({
render: function() {
return (
Expand Down
4 changes: 2 additions & 2 deletions demo06/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
<html>
<head>
<script src="../build/react.js"></script>
<script src="../build/JSXTransformer.js"></script>
<script src="../build/browser.min.js"></script>
</head>
<body>
<div id="example"></div>
<script type="text/jsx">
<script type="text/babel">
var MyComponent = React.createClass({
handleClick: function() {
React.findDOMNode(this.refs.myTextInput).focus();
Expand Down
4 changes: 2 additions & 2 deletions demo07/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
<html>
<head>
<script src="../build/react.js"></script>
<script src="../build/JSXTransformer.js"></script>
<script src="../build/browser.min.js"></script>
</head>
<body>
<div id="example"></div>
<script type="text/jsx">
<script type="text/babel">
var LikeButton = React.createClass({
getInitialState: function() {
return {liked: false};
Expand Down
4 changes: 2 additions & 2 deletions demo08/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
<html>
<head>
<script src="../build/react.js"></script>
<script src="../build/JSXTransformer.js"></script>
<script src="../build/browser.min.js"></script>
</head>
<body>
<script type="text/jsx">
<script type="text/babel">
var Input = React.createClass({
getInitialState: function() {
return {value: 'Hello!'};
Expand Down
4 changes: 2 additions & 2 deletions demo09/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
<html>
<head>
<script src="../build/react.js"></script>
<script src="../build/JSXTransformer.js"></script>
<script src="../build/browser.min.js"></script>
</head>
<body>
<script type="text/jsx">
<script type="text/babel">
var Hello = React.createClass({
getInitialState: function () {
return {
Expand Down
4 changes: 2 additions & 2 deletions demo10/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
<html>
<head>
<script src="../build/react.js"></script>
<script src="../build/JSXTransformer.js"></script>
<script src="../build/browser.min.js"></script>
<script src="../build/jquery.min.js"></script>
</head>
<body>
<script type="text/jsx">
<script type="text/babel">
var UserGist = React.createClass({
getInitialState: function() {
return {
Expand Down
2 changes: 1 addition & 1 deletion demo11/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ This demo is copied from [github.com/mhart/react-server-example](https://github.
$ npm install

# translate all jsx file in src subdirectory to js file
$ jsx src/ .
$ npm run build

# launch http server
$ node server.js
Expand Down
53 changes: 32 additions & 21 deletions demo11/app.js
Original file line number Diff line number Diff line change
@@ -1,38 +1,49 @@
'use strict';

var React = require('react');

module.exports = React.createClass({displayName: "exports",
module.exports = React.createClass({
displayName: 'exports',

getInitialState: function() {
getInitialState: function getInitialState() {
return {
items: this.props.items,
disabled: true
}
};
},

componentDidMount: function() {
componentDidMount: function componentDidMount() {
this.setState({
disabled: false
})
});
},

handleClick: function() {
handleClick: function handleClick() {
this.setState({
items: this.state.items.concat('Item ' + this.state.items.length)
})
});
},

render: function() {
return (
React.createElement("div", null,
React.createElement("button", {onClick: this.handleClick, disabled: this.state.disabled}, "Add Item"),
React.createElement("ul", null,

this.state.items.map(function(item) {
return React.createElement("li", null, item)
})

)
render: function render() {
return React.createElement(
'div',
null,
React.createElement(
'button',
{ onClick: this.handleClick, disabled: this.state.disabled },
'Add Item'
),
React.createElement(
'ul',
null,
this.state.items.map(function (item) {
return React.createElement(
'li',
null,
item
);
})
)
)
},
});
);
}
});
4 changes: 3 additions & 1 deletion demo11/browser.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
'use strict';

var React = require('react');
var App = require('./app');

React.render(React.createElement(App, {items: window.APP_PROPS.items}), document.getElementById('content'));
React.render(React.createElement(App, { items: window.APP_PROPS.items }), document.getElementById('content'));
3 changes: 2 additions & 1 deletion demo11/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"description": "an example of react.js in server",
"main": "server.js",
"scripts": {
"build": "babel -d . src/",
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "ruanyf",
Expand All @@ -14,6 +15,6 @@
"react": "~0.13.1"
},
"devDependencies": {
"react-tools": "~0.13.1"
"babel": "~5.8.21"
}
}
46 changes: 18 additions & 28 deletions demo11/server.js
Original file line number Diff line number Diff line change
@@ -1,48 +1,38 @@
'use strict';

var http = require('http'),
browserify = require('browserify'),
literalify = require('literalify'),
React = require('react');

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

http.createServer(function(req, res) {
http.createServer(function (req, res) {
if (req.url == '/') {
res.setHeader('Content-Type', 'text/html');
var props = {
items: [
'Item 0',
'Item 1'
]
items: ['Item 0', 'Item 1']
};
var html = React.renderToStaticMarkup(
React.createElement("body", null,
React.createElement("div", {id: "content", dangerouslySetInnerHTML: {__html:
React.renderToString(React.createElement(App, {items: props.items}))
}}), ",",

React.createElement("script", {dangerouslySetInnerHTML: {__html:
'var APP_PROPS = ' + JSON.stringify(props) + ';'
}}),
React.createElement("script", {src: "//fb.me/react-0.13.1.min.js"}),
React.createElement("script", {src: "/bundle.js"})
)
);
var html = React.renderToStaticMarkup(React.createElement(
'body',
null,
React.createElement('div', { id: 'content', dangerouslySetInnerHTML: { __html: React.renderToString(React.createElement(App, { items: props.items }))
} }),
',',
React.createElement('script', { dangerouslySetInnerHTML: { __html: 'var APP_PROPS = ' + JSON.stringify(props) + ';'
} }),
React.createElement('script', { src: '//fb.me/react-0.13.3.min.js' }),
React.createElement('script', { src: '/bundle.js' })
));
res.end(html);

} else if (req.url == '/bundle.js') {
res.setHeader('Content-Type', 'text/javascript');
browserify()
.add('./browser.js')
.transform(literalify.configure({react: 'window.React'}))
.bundle()
.pipe(res);

browserify().add('./browser.js').transform(literalify.configure({ react: 'window.React' })).bundle().pipe(res);
} else {
res.statusCode = 404;
res.end();
}
}).listen(3000, function(err) {
}).listen(3000, function (err) {
if (err) throw err;
console.log('Listening on 3000...');
})

});
2 changes: 1 addition & 1 deletion demo11/src/server.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ http.createServer(function(req, res) {
<script dangerouslySetInnerHTML={{__html:
'var APP_PROPS = ' + JSON.stringify(props) + ';'
}}/>
<script src="//fb.me/react-0.13.1.min.js"/>
<script src="//fb.me/react-0.13.3.min.js"/>
<script src="/bundle.js"/>
</body>
);
Expand Down

0 comments on commit 1f4f21e

Please sign in to comment.