我正在构建一个非常基础的React应用程序,通过在我的html页面中包含React库脚本标签,并在脚本标签中加载我的组件来实现。我没有使用模块或create-react-app
。我的组件看起来像这样:
TIPS.JS
class Tips extends React.Component {
constructor() {
super()
}
render() {
return (
<div>
<h1>Hello World</h1>
</div>
)
}
}
我已经安装了Babel转译器:
npm install babel-cli@6 babel-preset-react-app@3
现在,我可以使用以下方式将我的JSX组件转译为普通的JS:
npx babel --watch src --out-dir . --presets react-app/prod
这很好,但现在我想同时编译Typescript TSX,但这些文档对如何组合它们有点不清楚。它们提到Microsoft Typescript React Starter,但那个使用Webpack,所以它的设置不同。
设置Typescript
nom install typescript
npx tsc --init
TSCONFIG.json
{
"compilerOptions": {
"rootDir": "src",
"outDir": "build"
},
}
现在我应该能够运行
npm run build
,但是我找不到package.json
的设置。我应该使用tsc watch
还是babel watch
?或者在使用typescript时可以丢弃babel吗?换句话说,不使用模块和webpack,将TSX组件编译为javascript的最基本设置是什么?
react-app
预设默认已经包含了 TypeScript 选项,因此您甚至不需要安装preset-typescript
。在.babelrc
文件中,您可以添加"presets": [["react-app", { "flow": false, "typescript": true }]]
。 - Kokodoko.ts
文件仍然被忽略了。你有什么想法我漏掉了什么吗? - Kokodokoincludes
属性中指定glob。 - felixmosh.babelrc
中设置了isTsx:true
和extensions:all
这些附加设置时,它才能正常工作。Babel网站上的文档非常不完善。 - Kokodoko