我如何告诉 Visual Studio 代码关于相对路径
How do I tell Visual Studio Code about the relative path
我正在使用 create-react-app 工具创建一个 react-app,因此它使用 webpack 进行模块捆绑。具有以下目录结构
-my-app
--node_modules
--src
---components
----somecomponent
-----SomeComponent.jsx
----someothercomponent
-----SomeOtherComponent.jsx
----main.js
----public
为了避免许多 ../../
(相对路径的点斜线),我设置了一个 NODE_PATH=./src
,如下所示 package.json
"scripts": {
"start": "NODE_PATH=./src react-scripts start",
"build": "NODE_PATH=./src react-scripts build",
}
所以我现在可以像这样导入我的模块
import SomeComponent from "/components/somecomponent/SomeComponent"
因此即使更改目录结构也不会经常破坏我的代码。但是有了这个,我的 VSCode 无法识别路径,因此不会显示智能感知,我该如何解决它?
我致力于 VSCode 的 JS 和 TS 支持。对于这个用例,我认为您有几个选择:
在项目的根目录中创建一个 jsconfig.json
并使用 baseUrl
:
{
"compilerOptions": {
"baseUrl": "./src"
}
}
这应该允许导入,例如:
import SomeComponent from "components/somecomponent/SomeComponent"
或者,使用 paths
属性:
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"~/*": ["./src/*"]
}
}
}
这将允许导入以下形式:
import SomeComponent from "~/components/somecomponent/SomeComponent"
您可以找到有关这些配置选项的更多详细信息here
我正在使用 create-react-app 工具创建一个 react-app,因此它使用 webpack 进行模块捆绑。具有以下目录结构
-my-app
--node_modules
--src
---components
----somecomponent
-----SomeComponent.jsx
----someothercomponent
-----SomeOtherComponent.jsx
----main.js
----public
为了避免许多 ../../
(相对路径的点斜线),我设置了一个 NODE_PATH=./src
,如下所示 package.json
"scripts": {
"start": "NODE_PATH=./src react-scripts start",
"build": "NODE_PATH=./src react-scripts build",
}
所以我现在可以像这样导入我的模块
import SomeComponent from "/components/somecomponent/SomeComponent"
因此即使更改目录结构也不会经常破坏我的代码。但是有了这个,我的 VSCode 无法识别路径,因此不会显示智能感知,我该如何解决它?
我致力于 VSCode 的 JS 和 TS 支持。对于这个用例,我认为您有几个选择:
在项目的根目录中创建一个 jsconfig.json
并使用 baseUrl
:
{
"compilerOptions": {
"baseUrl": "./src"
}
}
这应该允许导入,例如:
import SomeComponent from "components/somecomponent/SomeComponent"
或者,使用 paths
属性:
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"~/*": ["./src/*"]
}
}
}
这将允许导入以下形式:
import SomeComponent from "~/components/somecomponent/SomeComponent"
您可以找到有关这些配置选项的更多详细信息here