1

我刚刚使用browserify-railsRails 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。

我如何让它真正转换它?

4

1 回答 1

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.

于 2015-09-05T03:30:01.780 回答