我刚刚用browserify-rails
和Rails 4.2创建了一个新项目。我的package.json
看起来像这样:
{
"name": "neat-verify",
"dependencies": {
"browserify": "~> 10.2.4",
"browserify-incremental": "^3.0.1",
"es6ify": "^1.6.0",
"nuclear-js": "^1.1.1",
"react": "^0.13.3",
"reactify": "^1.1.1"
},
"browserify": {
"transform": [
[
"reactify",
"es6ify"
]
]
},
"license": "MIT",
"engines": {
"node": ">= 0.10"
}
}
一切安装都很好,但当我尝试用这个加载我非常简单的es6文件时:
module.exports = n => n * 11;
文件内容完全符合上述要求,因为这不是ES5。
如何让它真正实现这一点呢?
答案 0 :(得分:1)
所以,在尝试了很多之后,我放弃使用browserify-rails
来执行转换并决定使用react-rails
,更简单,我需要转换JSX和ES6包含此配置:
config.react.jsx_transform_options = {
whitelist: [
"es6.arrowFunctions",
"es6.classes",
"react",
]
}
现在名为foo.js.jsx
的文件包含:
var log = msg => console.log(msg);
class Hello extends React.Component {
render() {
return <div>Hello, {this.props.name}!</div>
}
}
正确转换并包含在application.js
。