gpt4 book ai didi

node.js - 如何防止在 Node.js 中使用包之外的相对路径 require ?

转载 作者:太空宇宙 更新时间:2023-11-04 01:31:19 25 4
gpt4 key购买 nike

假设该项目有 2 个同一级别的包:

  • 包1
    • 应用程序
      • test1.js
    • package.json
  • 包2
    • 应用程序
      • test2.js
    • package.json

我想阻止 package1 内“package2 文件”的任何相对路径导入,反之亦然。例如,禁止在 package1/app/test1.js 中导入 require(../../package2/app/test2.js) 。

我们可以编写一些静态分析器来进行这样的检查,但想知道是否有现有的工具可以解决这个问题?

最佳答案

这是一种代码味道,表明您的两个包确实不是独立的。处理跨包依赖关系的正确方法是发布 package1 并将其包含在 package2 的依赖项中,并通过在其目录中运行 npm install 使其可供 package2 使用。

在开发这两个包时,您可以通过在 package1 的目录中运行 npm link 来避免发布模块,以使其在全局包缓存中可用,并使其可用于 package2,您可以从 package2 的目录运行 npm link package1

关于node.js - 如何防止在 Node.js 中使用包之外的相对路径 require ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56029851/

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