gpt4 book ai didi

javascript - Rails Webpacker 和 stage-2 类转换属性不起作用

转载 作者:行者123 更新时间:2023-11-28 04:49:19 24 4
gpt4 key购买 nike

我正在一个新的 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": {
"babel-preset-es2015": "^6.24.0",
"babel-preset-stage-2": "^6.22.0",
"webpack-dev-server": "^2.4.2"
}

根据这个 Babel REPL 链接,这应该可以工作。 https://babeljs.io/repl/#?babili=false&evaluate=true&lineWrap=false&presets=es2015%2Creact%2Cstage-2&targets=&browsers=&builtIns=false&experimental=true&loose=false&spec=false&code=class%20PostInfo%20extends%20React.Component%20%7B%0A%09handleOptionsButtonClick%20%3D%20(e)%20%3D%3E%20%7B%0A%20%20%20%20this.setState(%7BshowOptionsModal%3A%20true%7D)%3B%0A%20%20%7D%0A%7D

有什么想法吗?

最佳答案

为了解决这个问题,我必须将预设添加到各个加载程序文件中。

// config/webpack/loaders/babel.js
module.exports = {
test: /\.js(\.erb)?$/,
exclude: /node_modules/,
loader: 'babel-loader',
options: {
presets: [
'es2015',
'stage-2'
]
}
}

// config/webpack/loaders/react.js
module.exports = {
test: /\.(js|jsx)?(\.erb)?$/,
exclude: /node_modules/,
loader: 'babel-loader',
options: {
presets: [
'es2015',
'react',
'stage-2'
]
}
}

现在我可以使用漂亮的速记箭头类函数了。

关于javascript - Rails Webpacker 和 stage-2 类转换属性不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43082068/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com