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 に答える