Javascript 类型脚本构造函数参数。分析错误:意外的保留字';公共';
我想在TypeScriptp+react中创建类 我决定用 但我在编译时出错了 这是我的UserData类Javascript 类型脚本构造函数参数。分析错误:意外的保留字';公共';,javascript,reactjs,typescript,Javascript,Reactjs,Typescript,我想在TypeScriptp+react中创建类 我决定用 但我在编译时出错了 这是我的UserData类 enum SecurityRole { USER = "USER", ADMIN= "ADMIN" } export class UserData { constructor(public name: string, readonly securityRole = SecurityRole.USER) { } } export
enum SecurityRole {
USER = "USER",
ADMIN= "ADMIN"
}
export class UserData {
constructor(public name: string, readonly securityRole = SecurityRole.USER) { }
}
export const createUserDataFromJson = (json: any): UserData => {
console.log(`user from json : ` + json)
return new UserData(json.name, json.securityRole)
}
但我收到了一个错误:
Line 8:17: Parsing error: Unexpected reserved word 'public'
6 | }
7 | export class UserData {
> 8 | constructor(public name: string, readonly securityRole = SecurityRole.USER) { }
| ^
9 | }
10 | export const createUserDataFromJson = (json: any): UserData => {
11 | console.log(`user from json : ` + json)
我想它可能与tsconfig.json有关,所以它是:
{
"compilerOptions": {
"target": "ESNext",
"module": "esnext",
"strict": true,
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"lib": [
"dom",
"dom.iterable",
"esnext"
],
"allowJs": true,
"skipLibCheck": true,
"allowSyntheticDefaultImports": true,
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "react-jsx",
"noUnusedLocals": true,
"noUnusedParameters": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true
},
"include": [
"src"
]
}
我正在项目(4.0.2)中使用npm运行构建
这是react脚本构建
npm版本6.14.6
节点版本v12.18.3
我做错什么了吗?还是我的项目设置有问题?我试图通过将eslintConfig添加到我的package.json中来解决这个问题
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
. JavaScript会给你这个错误(如果
enum
实际上在其他地方),但这是完全有效的TypeScript代码。你确定文件被解析为TypeScript吗?文件扩展名是什么?T.J.Crowder那是.ts文件。我也在那个在线编译器中试用过它,所以我想这是我的项目设置中的一些东西,这可能也很重要:我在我的项目中使用npm run build->这是“react scripts build”