我通过如下所示的导入方式在我的项目中使用react rc-tree模块:
import Tree, { TreeNode } from 'rc-tree';
这很好。但是过了一会儿我想对rc-tree的源代码进行更改,因此我将源代码从github克隆到了我的./src目录中。即我现在在./src目录下有一个名为./tree的目录。如何调用该代码,而不是node_modules中的rc-tree?
我尝试了各种导入语句,但是没有用。
答案 0 :(得分:1)
在根目录中添加.env
文件并添加此行
NODE_PATH=src
现在导入
import Tree, { TreeNode } from 'tree';
答案 1 :(得分:1)
您应该尝试相对导入您的代码。
想一想您是否位于要导入所需软件包的路径src/component/childComponent/
中,在这里必须使用src
内部软件包的相对路径。
import Tree, { TreeNode } from '../../tree';
此..
表示您在当前路径内向后移动。
在此示例中,这意味着要上升两个目录(component和childComponent)。现在,您要在这里访问src
目录,您应该写出路径的其余部分/tree
。
我看一下rc-tree
包,发现它是用打字稿写的。如果您的应用不支持打字稿,则不能使用包的源代码,您应该先构建包,然后再导入build
目录。
如果您的应用支持绝对路径,则可以轻松使用:
import Tree, { TreeNode } from 'src/tree';
答案 2 :(得分:0)
我无法获得这些建议,可能是我的错...所以我只是将整个rc-tree子目录从node_modules移到了源代码树下,并将其称为“ tree”。然后,我从node_modules / rc-tree到源代码树中的./tree建立了符号链接。
我只是导入Tree,TreeNodes等,就像我在使用模块一样,但实际上它是在./tree中调用代码的副本。
一切似乎都有效。唯一不好的是,由于代码现在位于./src下,因此linter会打印出许多有关该代码的警告。显然,这不是我的代码,我也不想听到它,但是我可以接受。