【发布时间】:2021-08-05 06:12:59
【问题描述】:
我想在使用 create-react-app 创建的 React 应用程序中使用 ts-nameof。我怎么能做到这一点而不弹出?
提示:我也使用craco,因此涉及 craco 的解决方案也适合我。
谢谢!
【问题讨论】:
标签: reactjs typescript create-react-app craco ts-nameof
我想在使用 create-react-app 创建的 React 应用程序中使用 ts-nameof。我怎么能做到这一点而不弹出?
提示:我也使用craco,因此涉及 craco 的解决方案也适合我。
谢谢!
【问题讨论】:
标签: reactjs typescript create-react-app craco ts-nameof
使用babel-macro 调用ts-nameof.macro 可以在不弹出的情况下实现。
我已经对使用以下代码生成的新应用程序进行了测试:
npx create-react-app temp --template typescript
# install macro dependecies
yarn add -D ts-nameof.macro
# or
# npm i --save-dev ts-nameof.macro
注意:如果您的 react-scripts 版本低于 2.0,您还需要安装
babel-plugin-macros作为开发依赖项。
更新App.tsx
import React from 'react';
import nameof from "ts-nameof.macro"; // import nameof
import logo from './logo.svg';
import './App.css';
function App() {
console.log(nameof(window.alert)) // "alert"
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<p>
Edit <code>src/App.tsx</code> and save to reload.
</p>
<a
className="App-link"
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer"
>
Learn React
</a>
</header>
</div>
);
}
export default App;
【讨论】: