可以/应该使用/要求我的依赖项包含的node_modules' node_modules?

时间:2016-05-15 11:10:11

标签: node.js dependencies dependency-management

方案
想象您正在使用hapi等框架构建Web应用程序,并且知道当您npm install hapi --save安装多个&#34; < EM>应用&#34;在 it node_modules例如boomjoihoek。)

问题
我们是否可以避免在项目中明确重新安装 Joi并使用 my_app/node_modules/hapi/node_modules/joi/lib/ 中包含的模块,例如:在我的server.js文件中:

var Hapi = require('hapi'); 
var Joi = require('./node_modules/hapi/node_modules/joi/lib/'); // good or bad idea? Why?

var server = new Hapi.Server();
server.connection({ port: 3000 });

server.route({
    method: 'GET',
    path: '/{name*}',
    config: {
        validate: {  // validate using Joi
          params: { 
            name: Joi.string().max(40).min(2).alphanum()
          } 
        },
        handler: function (req,reply) {
            reply('Hello '+ req.params.name + '!');
        }
    }
});

server.start(function() {
    console.log('Now Visit: http://localhost:3000/YOUR_NAME_HERE')
});

虽然在表面上多次安装相同node_modules的想法似乎是合乎逻辑的,但我们想知道这样做的真正的世界陷阱?

明显的优势在于,当您更新Hapi的依赖时,您还将获得其所有最新版本的&#39; dependencies潜在的缺点是您不知道其中一个dependencies中的突然发生变化的时间。什么其他 ......?

  

注意:我/我们目前没有在我们的任何Node.js代码中执行此操作,但有人问我 为什么不呢? 今天我没有为他们提供全面的答案......   &#34; 因为这是不好的做法...... &#34;不是一个好的答案,我们希望理解 为什么 ......没有4 monkeys in a room "reason"

0 个答案:

没有答案