为自定义模块使用 node_modules 文件夹
Posted
技术标签:
【中文标题】为自定义模块使用 node_modules 文件夹【英文标题】:Using node_modules folder for custom modules 【发布时间】:2016-02-12 21:23:26 【问题描述】:最近我开始计划这个结构在哪里:
app.js node_modules 库 index.js 资源 - 系统中实体的一些代码 node_modules - 系统中使用的本地模块(不是来自 npm)对于未从 npm 获取的本地代码,您如何看待使用名为 node_modules 的文件夹?
唯一的好处是,从资源中请求模块时,您不必使用相对路径。
消极的部分是,有很多脚本(jshint、nodemon、..)忽略了这些文件夹,而且你必须在 .gitignore 中也允许这个文件夹
【问题讨论】:
【参考方案1】:出于您所描述的原因,我认为这是不好的做法。最终某些东西会停止工作,需要很长时间才能弄清楚原因。
如果您必须解决节点中的相对路径问题,我会选择支持的解决方案,即使它并不理想,即 NODE_PATH 环境变量
NODE_PATH=path\to\program node myprogram.js
关于替代选项的讨论很好here on github
【讨论】:
我刚刚意识到本地和公共模块的名称也可能发生冲突..以上是关于为自定义模块使用 node_modules 文件夹的主要内容,如果未能解决你的问题,请参考以下文章
如何从 node_modules 文件夹导入 sass 主题模块
无法使用电子读取 /node_modules/bindings/bindings.js 处未定义的属性“模块”并安装串行端口
ReferenceError:进程未定义模块.../../../node_modules/graphql/jsutils/instanceOf.mjs