gpt4 book ai didi

node.js - 将 node_modules 保留在开发源代码树之外(而非生产)

转载 作者:搜寻专家 更新时间:2023-10-31 22:32:54 24 4
gpt4 key购买 nike

我更愿意在处理源代码树时将所有生成的文件和依赖项放在我的源代码树之外。

npm 和 grunt 使这变得困难:npm 永远不允许移动本地 node_modules,所以我必须使用 --global--prefix。但显然,grunt 不支持这样的方案。

鉴于上述限制,我如何才能实现我的目标?

所以,如果我有一个项目:

foo/
.git/
src/
gruntfile.js
package.json

我不希望我的树中有额外的文件,特别是 node_modules。 (还有 bower_componentsbuild 等,但这是关于 npm 的。)在我处理和运行它时,这个目录应该保持不变。就是这样。

显然 npm link 应该这样做,但当我尝试时它仍然安装了 ./node_modules 中的所有依赖项。我无法理解的任何其他调用;文档不清楚。

一个相关的建议是使用另一个目录和我的 gruntfile 或 package.json 的符号链接(symbolic link),但 grunt 只是解析了符号链接(symbolic link)并继续在我的原始目录中工作!

到目前为止,我最接近的是链接到例如~/.cache/foo/node_modules 来 self 的项目。虽然它实现了让部门远离我的树,但我的工作区仍然有这个链接。

我想知道有没有更好的方法。 npm installnpm linkln~/.cacheNODE_PATHPWD 允许我从我的源代码树运行我的项目,并保持它没有所有非源代码人工制品?

最佳答案

违背标准游泳是一个非常糟糕的主意®。

可以(并且应该)做的是将node_modules/ 添加到您的.gitignore(或您为给定的任何忽略文件)源代码控制系统),因此您不必控制这些文件。

此外,您还可以使用 src/ 之类的目录来组织您的代码,并将其从强制配置文件(package.jsonGruntfile)中“屏蔽” .coffee 等)。

关于node.js - 将 node_modules 保留在开发源代码树之外(而非生产),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28121299/

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