私有,本地(和特定于应用程序)模块

时间:2013-06-18 20:17:03

标签: node.js express

我有一个具有以下结构的Node.js应用程序:

+
|-- app/
|   |-- config.js
|   |-- modules/     // MVC app modules/components.
|       |-- login/
|       |-- signup/
|-- lib/             // App specific modules/libraries.
|   |-- auth/
|   |-- storage/
|-- node_modules/    // 3rd party modules.
|   |-- express/
|   |-- hjs/
|-- public/
|-- app.js
|-- package.json

来自 lib / require模块有哪些选项 - 例如 - 登录模块,但无需指定相对路径?

// app/modules/login/index.js

var auth = require('../../../lib/auth'); // <-- I'd rather have require('auth')

module.exports = function(app) {    
    app.get('/', auth.ensureAuthenticated, function(req, res) {
        res.send('/');
    });    
};

我不想在Github上的 lib / 中托管模块,并且只想为第三方模块保留* node_modules *目录。

当他谈到bundledDependencies时,TJ的Modular web applications with Node.js and Express(见2:25)看起来很有希望。但那是doesn't seem to work yet

更新
我现在已经把我的结构弄平了一点,决定采用相对路径。

1 个答案:

答案 0 :(得分:0)

我可以在这里看到两种可能的解决方案。

  1. 为您的模块制作links
  2. 安装模块。为此,请转到应用程序的根目录并键入:
  3. npm install ./lib/storage

    通过执行上一个命令启动app.js时,可以“动态”安装模块。