我添加了 browserify-rails 以便我可以将 React 包含在我的 Rails 应用程序中。我能够导入和导出模块。例如,我todos.js
执行从hello_world.js
. 但是加载包括 JSX 在内的文件会破坏一切。
我错过了什么?:-( 整个 Rails 应用程序在 Github 上可用。请参阅browserify-rails分支。
应用程序.rb
config.browserify_rails.commandline_options = "-t [ babelify --presets [ es2015 react ] ]"
应用程序/资产/javascripts/todos.js
import Hello from "hello_world";
let hello = new Hello();
console.log( "GREET: " + hello.greet() );
// Everything breaks if I add the section below.
// Why isn't the JSX code transpiled correct?
// I do have babel in my package.json.
ReactDOM.render(
<h1>Hello, world!</h1>h1>,
document.getElementById('example')
);
应用程序/资产/javascripts/hello_world.js
class Hello {
greet() {
return "Hello world!";
}
}
export default Hello;
包.json
{
"name": "something",
"dependencies": {
"babel-preset-react": "^6.11.1",
"browserify": "~10.2.4",
"browserify-incremental": "^3.0.1",
"react": "^15.3.1",
"react-dom": "^15.3.1"
},
"license": "MIT",
"engines": {
"node": ">= 0.10"
}
}