似乎無法在此處找到任何文章。我基本上想要捕捉程序內部的「無法找到模塊」錯誤,並且可以選擇安裝它,但即使圍繞我的require語句嘗試/捕獲,我也無法捕獲任何錯誤。這甚至有可能嗎?我沒有看到它在任何地方完成。在node.js中捕獲需要模塊的錯誤
例如:
try {
var express = require('express');
} catch (err){
console.log("Express is not installed.");
//proceed to ask if they would like to install, or quit.
//command to run npm install
}
我想這可能是與一個單獨的.js啓動文件來完成,沒有任何第三方的要求,而只使用fs
檢查node_modules
,然後有選擇地從子進程的運行npm install
,然後與另一個孩子運行node app
。但感覺就像在單個app.js文件中這樣做會更容易。
'require'本身表明這模塊對於應用程序運行至關重要。如果你問我,「找不到模塊」是一個不言自明的錯誤信息。作爲一名開發人員,如果您希望他人使用您的應用程序,則您有責任將所有依賴關係包含在您的軟件包中。 – Amberlamps
@Amberlamps通常最好不要將依賴項作爲包的一部分提供給應用程序,而是在使用時下載它們。以免提供陳舊/過時的模塊,而不是浪費空間。這就是'package.json'和'npm install'的用途。我尋找這個解決方案是爲了使我的應用程序儘可能地用戶友好和自動化。 – krb686