【发布时间】:2017-08-22 06:22:35
【问题描述】:
我正在一个新的 Rails 应用程序上试用 Webpacker 以熟悉它,但我无法让它编译我的 javascript 代码。
代码如下:
import React, { Component, PropTypes } from 'react'
import DayPicker, { DateUtils } from 'react-day-picker'
import 'react-day-picker/lib/style.css'
export default class Example extends Component {
constructor(props) {
super(props)
this.state = {
selectedDays: []
}
}
handleDayClick = (day, selected) => {
console.log(day)
}
render() {
return (
<p>Test</p>
)
}
}
20:05:21 hot.1 | ERROR in ./app/javascript/packs/components/example/example.jsx
20:05:21 hot.1 | Module build failed: SyntaxError: Missing class properties transform.
20:05:21 hot.1 |
20:05:21 hot.1 | 11 | }
20:05:21 hot.1 | 12 |
20:05:21 hot.1 | > 13 | handleDayClick = (day, selected) => {
20:05:21 hot.1 | | ^
这是一个全新的 Rails 应用程序,使用来自 github 的最新 Webpacker gem。
我的.babelrc:
{
"presets": ["env", "es2015", "react", "stage-2"]
}
我的 devDependencies 是:
"devDependencies": {
"babel-preset-es2015": "^6.24.0",
"babel-preset-stage-2": "^6.22.0",
"webpack-dev-server": "^2.4.2"
}
有什么想法吗?
【问题讨论】:
-
那么你的渲染方法在哪里?每个组件都必须有一个渲染方法,这可能是我们的问题(至少如果是这样的话会更容易:))
-
@iceman 已编辑,为简洁起见,我将其省略了
-
@iceman 如果我删除 stage-2 预设,我会得到这个不同的错误:模块构建失败:SyntaxError: Unexpected token (13:17) - 指向等号:
handleDayClick =
标签: javascript ruby-on-rails webpack ecmascript-6 babeljs