繁体   English   中英

我可以在npm package.json中指定可选的模块依赖项吗?

[英]Can I specify optional module dependencies in npm package.json?

我有一个服务,我想在安装时允许用户指定使用哪个持久性引擎,即基于文件,MongoDB或Redis,我正在寻找一些npm魔术,你只下载必要的模块(无,分别是mongodb或redis)。

这可能吗? 除了在package.json中定义依赖项和devDependencies之外,我找不到任何其他选项,这不适用于此。

另请注意,虽然mongodb和redis模块可能相对较小,但请考虑另一种情况,您可以选择使用Java进行RMI通信。

谢谢!

您可能希望使用安装后脚本,然后再安装它们。

您可以通过编程方式使用npm模块安装。

所以,你可能会这样做:

var npm = require('npm'); // make sure npm is in your package.json!
npm.load({/* some object properties, if needed */}, function(err) {
    if (err) {return handleError(err)}
    if (usingMongoDB) {
        npm.commands.install(['mongodb'], function(err){
        if (err) {return handleError(err)}
        console.log('mongodb successfully installed');
    });
});

现在,我从来没有做过这样的事情,所以我建议你看看程序化npm install的文档,并load

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM