73

私は現在create-react-app、自分のプロジェクトの 1 つをブートストラップするために使用しています。基本的に、create-react-app によって生成されたデフォルトの tsconfig.json にこれらを追加して、tsconfig.json にパスを設定しようとしています。

"baseUrl": "./src",
"paths": {
  "interfaces/*": [
    "common/interfaces/*",
  ],
  "components/*": [
    "common/components/*",
  ],
},

yarn startただし、基本的に実行する を実行するたびにreact-scripts start、変更が削除され、デフォルトの構成が再度生成されます。

カスタム構成を使用するように create-react-app に指示するにはどうすればよいですか?

4

9 に答える 9

25

Create React App は現在サポートしていませんbaseUrl。ただし、回避策があります... baseUrlwebpack と IDE の両方をセットアップするには、次の手順を実行する必要があります。

  1. .env次のコードでファイルを作成します。
NODE_PATH=./
  1. tsconfig.paths.json内部に次のコードを含むファイルを作成します。
{
  "compilerOptions": {
    "baseUrl": "src",
    "paths": {
      "src/*": ["*"]
    }
  }
}
  1. に次の行を追加します。tsconfig.json
{
  "extends": "./tsconfig.paths.json",
  ...
}
于 2019-02-11T15:02:46.977 に答える
1

Botpress (react-scripts 4.0.3 を使用) では、2 つのトリックの組み合わせを使用して、コードをイジェクトしたりパッチを適用したりせずにパスを使用します。Glenn と Microcipcip が言ったように、最初のステップは tsconfig.json ファイルを拡張することです

tsconfig.path.json

{
  "compilerOptions": {
    "baseUrl": "./",
    "paths": {
      "~/*": ["src/*"],
      "common/*": ["../bp/src/common/*"]
    }
  }
}

tsconfig.json

{ 
  ...
  "extends": "./tsconfig.paths.json"
}

次に、バックグラウンドで動作させるには、パッケージを使用しますreact-app-rewired。これにより、実際に CRA を排出することなく、webpack 構成をわずかに調整できます。

config-overrides.js

module.exports = {
  webpack: (config, env) => {
    config.resolve.alias['common'] = path.join(__dirname, '../bp/dist/common')
    config.resolve.alias['~'] = path.join(__dirname, './src')
  }
}

完全なコードを表示するには、github リポジトリhttps://github.com/botpress/botpress/tree/master/packages/ui-adminを確認してください。

于 2021-12-06T16:30:40.877 に答える
-4

node_modules/react-scripts/scripts/utils/verifyTypeScriptSetup.js に移動して置き換えます

const compilerOptions = {
  ...
};

const compilerOptions = { };
于 2021-09-16T15:24:33.583 に答える