Reactjs 从/src导入react模块而不是节点\u模块

Reactjs 从/src导入react模块而不是节点\u模块,reactjs,module,relative-path,absolute-path,Reactjs,Module,Relative Path,Absolute Path,我在项目中使用react rc树模块,导入方式如下: import Tree, { TreeNode } from 'rc-tree'; 这很有效。然而,过了一段时间,我想对rc-tree的源代码进行更改,所以我将源代码从github克隆到了我的./src目录中。i、 e.我现在在我的./src目录下有一个名为./tree的目录。我如何调用该代码,而不是在node_模块中调用rc树 我尝试了各种导入语句,但没有任何效果。在root中添加.env文件并添加此行 NODE_PATH=src 现在

我在项目中使用react rc树模块,导入方式如下:

import Tree, { TreeNode } from 'rc-tree';
这很有效。然而,过了一段时间,我想对rc-tree的源代码进行更改,所以我将源代码从github克隆到了我的./src目录中。i、 e.我现在在我的./src目录下有一个名为./tree的目录。我如何调用该代码,而不是在node_模块中调用rc树


我尝试了各种导入语句,但没有任何效果。

在root中添加
.env
文件并添加此行

NODE_PATH=src
现在输入

import Tree, { TreeNode } from 'tree';

在根目录中添加
.env
文件并添加此行

NODE_PATH=src
现在输入

import Tree, { TreeNode } from 'tree';

您应该尝试相对导入代码。 考虑一下,如果您位于导入desire包的路径
src/component/childComponent/
,那么您必须使用
src
内的包的相对路径

import Tree, { TreeNode } from '../../tree';
表示您在当前路径内返回。 在本例中,它意味着向上移动两个目录(component和childComponent)。现在您正在寻址
src
目录,您应该编写路径的其余部分,即
/tree

我查看了
rc-tree
包,发现它是用typescript编写的。如果你的应用程序不支持typescript,你就不能使用软件包的源代码,你应该先构建软件包,然后导入
build
目录

如果您的应用程序支持绝对路径,您可以轻松使用:

import Tree, { TreeNode } from 'src/tree';

您应该尝试相对导入代码。 考虑一下,如果您位于导入desire包的路径
src/component/childComponent/
,那么您必须使用
src
内的包的相对路径

import Tree, { TreeNode } from '../../tree';
表示您在当前路径内返回。 在本例中,它意味着向上移动两个目录(component和childComponent)。现在您正在寻址
src
目录,您应该编写路径的其余部分,即
/tree

我查看了
rc-tree
包,发现它是用typescript编写的。如果你的应用程序不支持typescript,你就不能使用软件包的源代码,你应该先构建软件包,然后导入
build
目录

如果您的应用程序支持绝对路径,您可以轻松使用:

import Tree, { TreeNode } from 'src/tree';

我无法让这些建议发挥作用,可能是我的错。。。所以我只是将整个rc树子目录从node_modules移动到我的源代码树下,并称之为“tree”。然后,我在我的源代码树中创建了一个从node_modules/rc树到./tree的sym链接

我只是导入Tree、TreeNodes等,就像我在使用模块一样,但实际上它在调用./Tree中的代码副本


这一切似乎都奏效了。唯一不太好的是,因为代码现在在./src下,linter打印了许多关于代码的警告。很明显,这不是我的代码,我不想听到它,但我可以接受

我无法让这些建议发挥作用,可能是我的错。。。所以我只是将整个rc树子目录从node_modules移动到我的源代码树下,并称之为“tree”。然后,我在我的源代码树中创建了一个从node_modules/rc树到./tree的sym链接

我只是导入Tree、TreeNodes等,就像我在使用模块一样,但实际上它在调用./Tree中的代码副本


这一切似乎都奏效了。唯一不太好的是,因为代码现在在./src下,linter打印了许多关于代码的警告。很明显,这不是我的代码,我不想听到它,但我可以接受

你有自己的网页配置文件吗?我想没有。我没有做什么特别的事,我加了一个答案。让我知道你有没有自己的网页配置文件?我不这么认为。我没有做什么特别的事,我加了一个答案。让我知道这是否有效这会改变一切。这有什么区别吗?您是否能够从
node\u modules
文件夹导入节点模块?如果这是真的,那么它就不应该是一个问题。我制作了一个从节点模块到src/下目录中代码的符号链接,似乎正在工作。@Martin你能添加答案让其他人从中受益吗?我无法让节点路径的东西工作,npm警告我不要这样做-不推荐使用-但更重要的是,其他rc-模块再也找不到了。也许我本可以让它工作的。idk,我只需要快速获胜,完成大量工作。这改变了一切。这有什么区别吗?您是否能够从
node\u modules
文件夹导入节点模块?如果这是真的,那么它就不应该是一个问题。我制作了一个从节点模块到src/下目录中代码的符号链接,似乎正在工作。@Martin你能添加答案让其他人从中受益吗?我无法让节点路径的东西工作,npm警告我不要这样做-不推荐使用-但更重要的是,其他rc-模块再也找不到了。也许我本可以让它工作的。idk,我只需要快速获胜,还有很多工作要完成。