我在我的ReactJS应用程序上得到一个意外的令牌。但是我相信语法是正确的。
import React, { Component } from 'react';
class Auth extends Component {
constructor(){
super()
this.state={
authStatus: "Sign In",
isAuthenticated: false
}
}
AuthMe = () =>{
console.log("Working")
}
render() {
return (
<button type="button" onClick={this.AuthMe}>{this.state.authStatus}</button>
);
}
}
export default Auth;
./src/组件/身份验证/索引中的错误.js模块生成失败: 语法错误: 意外的标记 (11:11)
> 11 | AuthMe = () =>{
| ^
12 | console.log("Working")
13 | }
我错过了什么?
这是我的webpack.config.js
const path = require('path');
module.exports = {
entry: './src/index.js',
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist'),
publicPath: '/',
},
module: {
rules: [{
test: /\.jsx?$/,
exclude: [
path.resolve(__dirname, 'node_modules'),
],
loader: 'babel-loader',
}]
},
resolve: {
extensions: ['.json', '.js', '.jsx', '.css']
},
devtool: 'source-map',
devServer: {
historyApiFallback: true
}
};
。巴伯尔克
{
"presets": ["es2015","react","stage-0"],
"plugins": ["transform-decorators-legacy"]
}
使用 var AuthMe 或 const AuthMe 而不是 AuthMe
import React, { Component } from 'react';
class Auth extends React.Component {
constructor(){
super()
this.state={
authStatus: "Sign In",
isAuthenticated: false
}
}
var AuthMe = () =>{
console.log("Working")
}
render() {
return (
<button type="button" onClick={this.AuthMe}>{this.state.authStatus}</button>
);
}
}
export default Auth;
我之前在这里回答过这个问题:箭头函数语法对webpack不起作用?
TLDR是那个胖箭头还没有在ES201任何标准中。你需要添加一个额外的巴贝尔变换。
npm安装--保存dev babel插件转换类属性
编辑:看到上面的babelrc配置,运行上面的配置,然后将. babelrc更改为
{
"presets": ["es2015","react","stage-0"],
"plugins": ["transform-decorators-legacy", "transform-class-properties"]
}
尝试:
class Auth extends Component {
constructor(){
super()
this.state={
authStatus: "Sign In",
isAuthenticated: false
}
}
AuthMe() {
console.log("Working")
}
render() {
return (
<button type="button" onClick={this.AuthMe}>{this.state.authStatus}</button>
);
}
}
注意:AuthMe
不仅仅是一个常规函数,如果这对您很重要的话,它也不是一个胖箭头函数。
使用胖箭头函数作为类函数不是标准的ES6语法(目前该提案是第2阶段),因此您需要一个额外的babel插件来添加该功能。
有关更多详细信息,请参阅此答案。
我正在尝试开始在ReactJS中创建一个站点。然而,当我试图将我的JS放在一个单独的文件中时,我开始遇到这样的错误:“uncaughtSyntaxerror:uncontractedtoken” 我尝试添加添加到JS文件的顶部,但它没有修复任何问题。下面是HTML和JS文件。有没有关于出了什么问题的想法? HTML JS 编辑:我意识到我需要将添加到包含着陆器代码的脚本标记中。然而,在添加这个并重
你好,我尝试在其他问题中搜索,但没有一个提到的解决方案,我尝试对我不起作用。 使用命令时: npm启动 我有一个错误: /src/index.js模块生成失败(来自./node_modules/babel-loader/lib/index.js):语法错误:d:/kodilla/projekty/webpack-to-do-app/src/index.js:意外>令牌(6:4) package.j
我正在查看https://github.com/intoli/remote-browser.我在win10中使用节点11.5工作。我遵循了回购底部的说明: 现在,当我尝试使用以下命令运行它时: 我怎样才能让它工作? 编辑索引。js: 编辑2:
我以前从未遇到过这种情况,但现在我们开始: 有什么想法吗? 运行php fpm 5.3 Ubuntu 看起来好像评论不起作用...
问题内容: 我正在尝试与Jenkins构建过程一起运行以下Shell命令 现在构建失败 但是奇怪的是,当直接在Jenkin从站上运行此命令时,它可以正常工作。 如您所见,Jenkins也运行shell命令 。 任何帮助将不胜感激,因为我努力了几个小时 问题答案: 是由启用的扩展模式。目前尚不清楚如何在您的Jenkins从站中启用它,但是将命令添加到脚本中应该可以解决您的问题。
我正在尝试用Typescript和ASP.NET内核设置Angular2。以下是package.json: 和tsconfig.json 和SystemJs.Config.js 和app.component.ts: 帮我想出解决办法。