首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用react rails es6获取意外令牌

使用react rails es6获取意外令牌
EN

Stack Overflow用户
提问于 2016-08-27 06:52:31
回答 1查看 1.3K关注 0票数 3
代码语言:javascript
复制
Rails 5.0.0.1
Ruby 2.3.1

我想这应该是一个礼物问题,但同样,它适用于与一起创建的人。所以,没什么稀奇的:

Application.js

代码语言:javascript
复制
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= cable
//= require_self
//= require react_ujs

window.$ = window.jQuery = global.$ = require('jquery');
var React = window.React = global.React = require('react');
var ReactDOM = window.ReactDOM = global.ReactDOM = require('react-dom');

require('./components');

Components.js

代码语言:javascript
复制
require( 'babel-polyfill' );
// Manually add components to window and global
// so that react_ujs and react-server can find them and render them.
window.Home = global.Home = require("./components/Home.js").default
// same issue if use *.es6.jsx

Home.js (或es6.jsx)

代码语言:javascript
复制
import React from 'react';
import ReactDOM from 'react-dom';

class Home extends React.Component {
  render() {
    return (
      <div className="form-control">
        Home baby
      </div>
    )
  }
}
export default Home;

Gemfile

代码语言:javascript
复制
gem "browserify-rails"
gem 'react-rails

config/application.rb

代码语言:javascript
复制
# Configure Browserify to use babelify to compile ES6
config.browserify_rails.commandline_options = "-t [ babelify --presets [ es2015 ] ]"

unless Rails.env.production?
    # Work around sprockets+teaspoon mismatch:
    Rails.application.config.assets.precompile += %w(spec_helper.js)

    # Make sure Browserify is triggered when
    # asked to serve javascript spec files
    config.browserify_rails.paths << lambda { |p|
        p.start_with?(Rails.root.join("spec/javascripts").to_s)
    }
end

npm

代码语言:javascript
复制
npm install browserify browserify-incremental babelify babel-preset-es2015 --save

意料之外的令牌指的是第一个<div>,为什么?

EN

回答 1

Stack Overflow用户

发布于 2016-08-27 07:36:49

JSX语法没有被编译,可能是因为您需要将react预设添加到您的浏览器配置中。

安装软件包:

代码语言:javascript
复制
npm install --save-dev babel-preset-react

config/application.rb

代码语言:javascript
复制
config.browserify_rails.commandline_options = "-t [ babelify --presets [ es2015 react ] ]"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39178340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档