gpt4 book ai didi

javascript - 重新连接不导入本地目录

转载 作者:行者123 更新时间:2023-12-02 21:40:53 25 4
gpt4 key购买 nike

我在 Node.JS 12 中使用 Rewire,它在重新连接全局模块时工作正常,即 this.mysql = rewire('mysql') 工作正常。但是,当我执行 this.mod1 = rewire('./mod1') 时,它会出错,并显示 Cannot find module './mod1'

可能出了什么问题?请注意,我的文件位于 src/ 目录中,因此 node_modules/.. 不是我的文件目录。我尝试过 rewire('./src/mod1') 但它也不起作用。

最佳答案

rewire 的工作方式与 require 相同,因此我假设您从不同的目录调用该函数(重新连接)到 mod1 模块.

假设您有以下文件结构:

.
├── index.js
├── mod0.js
└── src
| ├── mod1.js
| └── dir
| ├── mod2.js
| └── anotherDir
| └── mod3.js

当需要将 mod1 转换为 mod2 时,路径应该相对于 mod2:

// src/dir/mod2.js
const mod1 = rewire('../mod1') // NOT rewire('./mod1')
const mod0 = rewire('../../mod0')
const mod3 = rewire('./anotherDir/mod3')

关于javascript - 重新连接不导入本地目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60366919/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com