gpt4 book ai didi

javascript - 从依赖项中的 node_modules 复制文件

转载 作者:行者123 更新时间:2023-12-03 03:00:25 24 4
gpt4 key购买 nike

我的模块 A 包含以下 postinstall 脚本:

"postinstall": "cp node_modules/dep-module/file.txt lib/file.txt"

运行npm install后,可以找到并复制该文件:

module-A
|- node_modules
|- dep-module
|- file.txt

在我从模块 B 导入模块 A 之前,这一切都很好:

"module-a": "0.0.1"

现在,自从我从模块 B 执行 npm install 后,目录结构是:

module-B
|- node_modules
|- module-A
|- dep-module
|- file.txt

在同一路由中找不到file.txt,它应该是:

"postinstall": "cp ../dep-module/file.txt lib/file.txt"

解决此问题的最佳选择是什么?

目前,我已经破解了一个脚本,该脚本可以简单地进行路径检查以查看是否存在 node_modules 目录,但我更喜欢一个可以避免 Node 脚本的解决方案...

const getModulePath = module =>
fs.existsSync(path.resolve('./node_modules')) ? `./node_modules/${module}` : `../${module}`;

fs.copy(`${getModulePath('dep-module')}/file.txt`, 'dist/file.txt');

最佳答案

您可以使用require.resolve()将模块样式字符串解析为文件路径。

关于javascript - 从依赖项中的 node_modules 复制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47423979/

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