Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
node.js我的配置文件在哪里?_Node.js - Fatal编程技术网

node.js我的配置文件在哪里?

node.js我的配置文件在哪里?,node.js,Node.js,下面是node.js代码的输出 $ node run.js [Sat May 11 2013 19:13:06 GMT-0400 (EDT)] ERROR { [Error: Cannot find module './app.yaml'] code: 'MODULE_NOT_FOUND' } env = development {} env = development { redis: { port: 6379, host: '127.0.0.1', password: '', db: 1,

下面是node.js代码的输出

$ node run.js
[Sat May 11 2013 19:13:06 GMT-0400 (EDT)] ERROR { [Error: Cannot find module './app.yaml'] code: 'MODULE_NOT_FOUND' }
env = development
{}
env = development
{ redis: { port: 6379, host: '127.0.0.1', password: '', db: 1, options: {} } }
[ '.npmignore',
  'app.yaml',
  'config',
  'example',
  'freq.js',
  'node_modules',
  'run.js',
  'test.js',
  'whereami.js' ]

布兰登,说得好。我使用的是npm页面中的示例。我简化了代码并结合了文件系统检查。

我过去遇到过一些问题,这些模块使用
require()
和相对路径动态“加载”配置文件。不过,我只在MacOSX上遇到过这些问题,在我的个人Ubuntu机器上从未遇到过。我不在Windows中进行node.js开发,所以我无法与该环境对话

我遇到的问题是调用
require()
函数的目标。以下是您可以轻松解决该问题的方法:

var fs = require('fs')

fs.readdir('.', function(err, files) {
        console.log(files);
});

var config = require('yaml-config');
var env = 'development';

var settings = config.readConfig('./app.yaml');
// path from your app root without slash
console.log('env = %s', env);
console.log(settings);

settings = config.readConfig('/Users/shawn/dev/node.js/example/app.yaml');
console.log('env = %s', env);
console.log(settings);
您可能可以使用just来测试传递相对路径是否也能解决问题。路径将与yaml配置模块的位置相关,并且很可能类似于
。/../../../src/app.yaml
,这取决于项目的结构与yaml配置的库结构

如果你想玩相关的东西,它看起来像这样(编辑:下面的固定括号):


我以前遇到过一些问题,模块使用
require()
和相对路径动态“加载”配置文件。不过,我只在MacOSX上遇到过这些问题,在我的个人Ubuntu机器上从未遇到过。我不在Windows中进行node.js开发,所以我无法与该环境对话

我遇到的问题是调用
require()
函数的目标。以下是您可以轻松解决该问题的方法:

var fs = require('fs')

fs.readdir('.', function(err, files) {
        console.log(files);
});

var config = require('yaml-config');
var env = 'development';

var settings = config.readConfig('./app.yaml');
// path from your app root without slash
console.log('env = %s', env);
console.log(settings);

settings = config.readConfig('/Users/shawn/dev/node.js/example/app.yaml');
console.log('env = %s', env);
console.log(settings);
您可能可以使用just来测试传递相对路径是否也能解决问题。路径将与yaml配置模块的位置相关,并且很可能类似于
。/../../../src/app.yaml
,这取决于项目的结构与yaml配置的库结构

如果你想玩相关的东西,它看起来像这样(编辑:下面的固定括号):


我很困惑。你正在同时改变两件事。在第一个示例中,您使用具有相对路径的开发环境,在第二个示例中,使用具有绝对路径的测试环境。我不清楚你在寻求什么帮助。公平地说,我已经编辑了代码和我的帖子。结果是一样的。我不知道配置文件在哪里。我想我会让你知道的。你确定你正在运行当前工作目录设置为配置文件所在文件夹的代码吗?Ie您是否在给定文件夹中运行应用程序?试着从你的代码中记录$PWD,看看会得到什么。我很困惑。你正在同时改变两件事。在第一个示例中,您使用具有相对路径的开发环境,在第二个示例中,使用具有绝对路径的测试环境。我不清楚你在寻求什么帮助。公平地说,我已经编辑了代码和我的帖子。结果是一样的。我不知道配置文件在哪里。我想我会让你知道的。你确定你正在运行当前工作目录设置为配置文件所在文件夹的代码吗?Ie您是否在给定文件夹中运行应用程序?试着从你的代码中记录$PWD,看看结果如何。我确实在运行Mac OS X,通过app.yaml轰炸文件结构中的各个点,我发现node正在将“app.yaml”映射到node_modules目录。谢谢你,吉姆!是的,所以这绝对是事实。我记得最近的一个例子是关于摩卡和一个定制记者。当我从命令行调用mocha时,它看起来像:
mocha--reporter../../../../../../../../../../custom reporter
我确实在运行Mac OS X,通过app.yaml轰炸文件结构中的各个点,我发现node正在将“app.yaml”映射到node_modules目录。谢谢你,吉姆!是的,所以这绝对是事实。我记得最近的一个例子是关于摩卡和一个定制记者。当我从命令行调用mocha时,它看起来像:
mocha--reporter../../../../../../../custom reporter
var relative = path.relative(require.resolve('yaml-config'), './app.yaml');
var settings = config.readConfig(relative);