处理Node中缺少的模块错误

时间:2014-09-24 21:54:26

标签: node.js cordova

我正在研究一些需要shelljs的cordova钩子。现在,如果用户没有安装shelljs,则会收到此错误消息

module.js:340
    throw err;
          ^
Error: Cannot find module 'shelljs'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    .... 

所以这条消息非常难看我想向用户提供更好的消息。反正是否有阻止此消息,然后通过console.log

允许自定义消息

1 个答案:

答案 0 :(得分:1)

你可以把它包装在try-catch中:

var shelljs;
try {
  shelljs = require('shelljs');
} catch (ex) {
  console.log('ShellJS is required');
  process.exit(1);
}