我使用create-react-app app_name --typescript
创建了我的React应用。由于Typescript不支持NODE_PATH。我正在尝试在tsconfig.json
中使用baseUrl。
但是,在将yarn start
放入"baseUrl": "src"
后,每次运行"compilerOptions"
时,baseUrl都消失了。我觉得yarn start
重设了tsconfig.json
。
如何停止它以重置文件?
**tsconfig.json**
{
"compilerOptions": {
"target": "es6",
"allowJs": true,
"skipLibCheck": false,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"strict": false,
"forceConsistentCasingInFileNames": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "preserve"
},
"include": ["src"]
}
答案 0 :(得分:2)
create-react-app当前删除了baseUrl
属性,不幸的是,我认为它们当前不支持路径:(
答案 1 :(得分:0)
baseUrl 问题已在create-react-app 3 中修复。现在,它支持两个值-class App extends Component {
constructor(props) {
super(props);
this.state = {
notes: []
};
}
handleClick = () => {
const currentNotes = this.state.notes;
// you can have an array here that you keep the props
// to pass into Note component
currentNotes.push({ noteProp1: "something" });
this.setState({
notes: currentNotes
});
};
render() {
return (
<div className="App">
<h2>ReactJS Notes App</h2>
<button className="fas fa-plus-circle" onClick={this.handleClick}>
<i>Button</i>
</button>
{this.state.notes.map((noteProps, key) => (
<Note key={key} info={noteProps} />
))}
</div>
);
}
}
(默认值)和node_modules
(请参阅此comment)
使用CHANGELOG中的说明升级create-react-app。
例如:如果要从2.1.x升级到3.0.0,
src
或
npm install --save --save-exact react-scripts@3.0.0
注意:我曾经同时拥有yarn add --exact react-scripts@3.0.0
和jsconfig.json
,但是一开始就抛出了错误。删除tsconfig.json
解决了该问题。
答案 2 :(得分:0)
有一种解决方法。
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@/*": ["src/*"]
}
}
}
{
"extends": "./base-tsconfig.json"
}
更多信息here。