Javascript 节点_模块上的配置文件
我创建了一个通用的npm包,其中包含我的业务逻辑,但我需要一些配置文件中的google云存储信息。如果我的包位于我的node_modules文件夹中,我如何访问此文件?有什么好的解决办法 结构如下:Javascript 节点_模块上的配置文件,javascript,node.js,npm,Javascript,Node.js,Npm,我创建了一个通用的npm包,其中包含我的业务逻辑,但我需要一些配置文件中的google云存储信息。如果我的包位于我的node_modules文件夹中,我如何访问此文件?有什么好的解决办法 结构如下: -config -google_storage_config -node_modules -package -serviceWhichNeedsThatConfig 嗨~您是否尝试过require var config = require('../../config/google_
-config
-google_storage_config
-node_modules
-package
-serviceWhichNeedsThatConfig
嗨~您是否尝试过
require
var config = require('../../config/google_storage_config');
根据您的文件夹结构,我们将假定您的配置路径为
。/../../config/google\u storage\u config
,因为需要sthatconfig的节点\u模块/package/services应该始终位于根目录中
现在,要访问此配置文件中的任何变量,只需在需要sthatchconfig的服务中包含以下代码即可
var config = require('../../../config/google_storage_config');
console.log(config.myVariable);
如果我这样要求,我就无法访问,我会收到以下错误消息:错误:找不到模块“/config/google\u storage\u config”你说得对!看起来require()
使用了相对路径。看到我更新的答案。我必须回到5路,但它的工作!有更好的方法要求这样的文件吗?不幸的是,这是节点的require()的常见问题。阅读这篇伟大的文章,了解一些可能的解决方法-如果你觉得我的答案解决了你的问题,请将其标记为已接受的答案,以帮助将来可能有相同问题的其他人。这是一种不规则的模式。考虑将此配置包含在服务内;或者在服务初始化期间。问题是,配置文件对于不同的应用程序是不同的。我怎样才能解决这个问题呢?我用这个结构作为例子,但在这种情况下,它是有效的!谢谢