[解決済み】NodeJs 。TypeError: require(...) は関数ではありません。
質問
私はファイルを要求し、その後それを変数に渡そうとしています。 これ チュートリアルで、認証システムを作成しました。server.jsを書いてコンパイルするとBSONエラーが出るので、mongooseでリリース版を要求している行を変更しました。
以下は私のコードとエラーです。
server.js
require('./app/routes')(app, passport);
エラー
require('./app/routes')(app, passport);
^
TypeError: require(...) is not a function
at Object.<anonymous> (d:\Node JS learning\WorkWarV2\server.js:38:24)
at Module._compile (module.js:434:26)
at Object.Module._extensions..js (module.js:452:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Function.Module.runMain (module.js:475:10)
at startup (node.js:117:18)
at node.js:951:3
Process finished with exit code 1
という意味になるのが普通だと読んだことがあります。
requireJS
が正しく読み込まれないのですが、その理由と解決方法がわかりません。
コメントにより編集しました。
質問された通り。
こちら
の結果です。
console.log(require);
どのように解決するのですか?
ということだと思います。
module.exports
の中に、あなたの
./app/routes
モジュールは関数として割り当てられていないので、そのため
require('./app/routes')
は関数に解決されないので、次のように関数として呼び出すことはできません。
require('./app/routes')(app, passport)
.
表示する
./app/routes
それについてさらにコメントする必要があれば
このような感じになるはずです。
module.exports = function(app, passport) {
// code here
}
この関数をエクスポートすると、次のように呼び出すことができます。
require('./app/routes')(app, passport)
.
同じようなエラーが発生するもう一つの理由は、モジュールAが
require(B)
で、モジュールBが
require(A)
. このような事態が発生すると、それを検知するために
require()
サブシステムが起動し、そのうちの1つが
null
そのため、それを関数として呼び出そうとしても、うまくいきません。 この場合、循環的な依存関係を解消するために、通常は共通のコードを第3のモジュールに分割し、両者が別々にロードできるようにします。
関連
-
[解決済み】JavaScriptのisset()に相当するもの
-
[解決済み】webpack: モジュールが見つかりません。Error: 解決できない(相対パスで)
-
[解決済み】ある要素が可視DOMに存在するかどうかを確認するにはどうすればいいですか?
-
[解決済み】コンソールがUnterminated JSX contentsエラーを投げる【終了しました
-
[解決済み】SyntaxError: JSON の位置 1 に予期しないトークン o があります。
-
[解決済み】Kendo Observable Bindingと併用する場合、Kendo Switch Labelsを変更することは可能ですか?[Kendo-UI]です。
-
[解決済み] Uncaught (in promise) TypeError: フェッチに失敗してCorsエラー
-
[解決済み] ReferenceError: describe は定義されていません NodeJs
-
[解決済み] とは何ですか! (not not)演算子とは何ですか?
-
[解決済み] require, include, require_once, include_onceの違い?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】JavaScriptで':'(コロン)は何をするのか?
-
[解決済み】Uncaught TypeError: nullのプロパティ'value'を読み取ることができない
-
[解決済み】JavaScriptのinnerHTMLで要素が更新されない
-
[解決済み】最大呼び出しスタックサイズ超過エラーとその修正方法とは?
-
[解決済み] エラー。モジュールhtmlが見つからない
-
[解決済み】npm install --legacy-peer-deps は具体的に何をするのですか?どんなときに推奨されるのか/どんな使用例が考えられるのか?
-
[解決済み】ES6マップオブジェクトをソートすることは可能ですか?
-
[解決済み】ETIMEDOUTエラーの対処方法は?
-
[解決済み】Uncaught TypeError: 未定義のプロパティ 'msie' を読み取れない - jQuery tools
-
[解決済み】Node.jsで循環的な依存関係に対処する方法