javascript - node.js 要求找不到自定义模块

标签 javascript macos node.js require

这是项目结构:

/
  app.js
  package.json
  /node_modules
  /app
    config.json
    /frontend
      assets and html tpls
    /modules
      couch.js
      raeume.js
      users.js

我需要 app.js 中的 config.json、raeume.js 和 users.js,一切正常。

var config   = require('./app/config');
var raeume   = require('./app/modules/raeume');
var users    = require('./app/modules/users');

然后我需要来自 user.js 的 config.json 和 couch.js 以同样的方式,它不会找到任何东西。

var couch     = require('./app/modules/couch');
var config    = require('./app/config');

我想它应该会找到它。经过一些研究,我看到了各种各样的问题,包括如何编译 Node 。因此包括:我使用 Node v0.10.7 在 osx 10.8 上工作。

最佳答案

路径是相对于您要求文件的目录,所以它应该是这样的:

var couch = require('./couch');
var config = require('../config');

有点澄清,如果你写了

var couch = require('./couch');

如果你写的话,你正在尝试require驻留在当前目录中的沙发模块

var couch = require('couch');

您正在尝试 require 通过 npm 安装的沙发模块。

关于javascript - node.js 要求找不到自定义模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16652620/

相关文章:

JavaScript:滚动到 DIV 中的某个部分使页面跳转和其他滚动没有按预期工作

javascript - Selenium - 计算具有匹配类的元素数

javascript - Javascript 中滚动事件的结束

eclipse - 如何在 Mac OS X Lion 中安装 gcc

javascript - 模块中的 NodeJS 所需模块始终未定义

node.js - 以 react 方式查询 mongodb 集合中所有文档的最佳方法,无需溢出 RAM

javascript - 如何使子链接指令函数在父 Controller 之前运行?

java - Mac 和 Windows 的 "Valid System process"是什么? (java进程构建器)

macos - 在 os x yosemite 中更新 Openssl

Node.js EveryAuth 获取 Google 电子邮件地址