搜索

首页  >  问答  >  正文

node.js - nodejs 的 package.json 可以设置linux平台不安装某个依赖吗?

比如我想mac、win都装某个模块,在linux平台不安装某个模块,如何设置呢?可以实现吗?


补充

我最后发现用shell脚本可以完成

#!/bin/bash
echo "正在安装 electron ……"
npm install electron-prebuilt@1.2.1
echo "electron 安装完成"


echo "正在安装 async ……"
npm install async@2.0.1
echo "async 安装完成"
某草草某草草2797 天前612

全部回复(2)我来回复

  • 天蓬老师

    天蓬老师2017-05-16 13:39:43

    package.json能不能我不清楚,但是用脚本实现啊。

    // index.js
    const exec = require('child_process').exec
    
    const platform = process.platform;
    
    switch(platform) {
    case 'darwin':
      // mac
      break;
    case 'linux': 
      exec('npm install XXX')
      break;
    case 'win32':
      break;
    }

    node index.js 就可以安装 XXX 了

    回复
    0
  • 某草草

    某草草2017-05-16 13:39:43

    https://docs.npmjs.com/files/...

    在 optionalDependencies 注明就好了

    回复
    0
  • 取消回复