javascript - 重新布线不导入本地目录
问题描述
我在 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')
推荐阅读
- html - 如何将div的宽度设置为祖父母div
- javascript - 两个非组之间的正则表达式捕获组
- node.js - Postgres CPU 利用率猛增。对我的案例有任何见解吗?
- python - 如何使用python从网站中提取表格?
- mongodb - 使用 mongorestore 命令恢复转储后如何避免 MongoDB ObjectIds 的自动更新?
- javascript - 语义 UI 进度条不会初始化
- java - 当前语言: ~~ERROR~~ NullPointerException: null (minecraft modding eclipse)
- sql-server - 来自 SQL 查询的自定义 XML 转换
- angular - 当一段时间不活动时,监视我的整个应用程序的事件和注销
- sql - 如何执行左连接比较两个月的列并获得一个接一个的列?