【问题标题】:How to add jsconfig.json to existing vscode project w/o breaking it如何将 jsconfig.json 添加到现有的 vscode 项目而不破坏它
【发布时间】:2019-10-19 14:35:45
【问题描述】:

我有 React 项目,目前没有使用 jsconfig.json 文件。 最近我在生成构建(纱线)时收到以下警告消息:

绝对不推荐设置 NODE_PATH 来解析模块,取而代之的是在 jsconfig.json(或 tsconfig.json,如果您使用 TypeScript)中设置 baseUrl,并将在 create-react-app 的未来主要版本中删除。

我看到“本地修复”添加 base_url here here,但我担心它会破坏我在其他地方的构建。

在现有项目中解决此问题的最安全方法是什么? jsconfig.json 中还需要哪些额外设置? 还是我应该完全不担心而忽略它?

【问题讨论】:

  • 如果你添加一个jsconfig,你担心会发生什么?只加一个就不行吗?
  • @MattBierner Major:添加 jsconfig.json 有副作用吗?次要:它将如何影响我的 package.json?两者都可以测试但我更喜欢在开始之前有一个更好的理解......
  • @MattBierner 刚刚注意到它仅适用于 build,不适用于开发版本
  • 一个 jsconfig 只是为 VS Code 定义了一个 JavaScript 项目。见here for more details。由于听起来您没有使用 jsconfig 进行构建,因此您应该尝试添加一个并查看它是否会导致编辑器出现任何问题
  • @MattBierner 显然我必须尝试。但我不知道如何定义一个......因为我不需要它(之前):-)。您发送的链接(我之前看到的)没有说明与 React (jsx) 等的交互...感谢您的时间!

标签: reactjs visual-studio-code create-react-app vscode-settings


【解决方案1】:

设置 NODE_PATH 以绝对解析模块已被弃用 倾向于在 jsconfig.json 中设置 baseUrl (或者 tsconfig.json 如果你是 使用 TypeScript),并将在未来的主要版本中删除 创建反应应用程序。

这是一个警告,说明您在项目中用于绝对路径的方法,即在您的 .env 中添加 NODE_PATH 将被弃用,有利于在 jsconfig.jsontsconfig.json 中设置 baseUrl

要解决此问题,您可以在根目录中添加jsconfig.jsontsconfig.json 并将baseUrl 设置为src

{
  "compilerOptions": {
    "baseUrl": "./src"
  }
}

现在删除 .env 中的 NODE_PATH,这不会破坏当前代码中的任何内容,并且会删除警告。

注意:CRA 仍不支持 jsconfigtsconfig 中的 paths 如果您打算在 CRA 项目中使用此功能,则必须等待

【讨论】:

  • 好像CRA v3现在支持了,我还没测试。 blog.logrocket.com/whats-new-in-create-react-app-3-950049f54f92
  • 仅供参考 - 我已经添加了这个 jsconfig.json 但警告并没有消失。
  • 您还必须从您的 .env 中删除 NODE_PATH
  • @saurabh 添加 NODE_PATH=src/ 在 .env 文件中起到了作用,但 jsconfig.json 没有,问题是我们在 .gitignore 文件中有 .env 文件,所以要做什么帮助react 项目中的 jsconfig.json 还是我必须使用相同的 .env 因为 CRA 不支持此功能,但根据您的“注意:”
猜你喜欢
  • 2020-10-04
  • 2020-02-06
  • 2011-01-03
  • 2022-01-16
  • 1970-01-01
  • 2016-01-18
  • 2015-05-18
  • 1970-01-01
  • 2021-10-27
相关资源
最近更新 更多