どこでもこの記事を見つけることはできません。私は基本的にプログラム内から "モジュールを見つけることができません"というエラーをキャッチし、オプションでそれをインストールするように頼んでいますが、require文の周りにtry/catchを付けてもエラーをキャッチできないようです。これも可能ですか?私はそれがどこで行われても見ていない。例えばnode.jsでモジュールを要求する際にエラーをキャッチ
:私は、これは任意のサードパーティせずに別々の.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
}
が必要であり、単にnode_modules
をチェックするためにfs
を使用して、必要に応じて子プロセスからnpm install
を実行します別の子とnode app
を実行します。しかし、単一のapp.jsファイルの中からこれを行うほうが簡単なように感じます。
を自分自身をrequire'このことを示唆していますモジュールは、アプリの実行に不可欠です。あなたが私に尋ねれば、 'モジュールを見つけることができません。 'は、自明のエラーメッセージです。開発者は、あなたのアプリケーションを他の人に使用させたい場合は、あなたのパッケージにすべての依存関係を含めることはあなたの責任です。 – Amberlamps
@Amberlamps通常、パッケージの一部としてアプリケーションに依存関係を提供しないでくださいが、使用時にそれらをダウンロードすることをお勧めします。古いモジュールや古いモジュールを提供しないようにし、スペースを浪費しないようにします。これが 'package.json'と' npm install'の目的です。このソリューションの私の狩りは、私のアプリをユーザーフレンドリーかつ可能な限り自動的にするためです。 – krb686