6

想在使用create-react-app. 我怎么能做到这一点而不弹出?提示:我也使用craco,所以涉及 craco 的解决方案对我来说也可以。

谢谢!

4

1 回答 1

6

使用名为ts-nameof.macro的babel-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为 dev 依赖项。

更新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;
于 2021-05-24T10:10:03.830 回答