16

私は node.js を初めて使用します。これは私の最初のノード アプリケーションです。明らかな質問をしている場合はご容赦ください。というファイルutils.jsがあり、そのファイルで関数を定義して で使用できるようにする必要がありますmain.js。なのであげてみました

require(utils.js)

しかし、それは私にこのエラーを投げています:

Error: Cannot find module 'utils.js'
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)

main.jsは下c:\demo\proj\src\main\main.jsにあり、utils.js下にc:\demo\proj\src\utils\utils.jsいます。

以下の必要な組み合わせを試しましたが、それでもモジュールエラーが見つかりません:

  • require(/proj/src/utils/utils.js);

  • require(/utils.js);

  • require(c:/demo/proj/src/utils/utils.js);

node_modulesフォルダーの下に配置しようとしても、同じエラーが発生します。ここで私が間違っていることを親切に教えてもらえますか?

編集:

以下のように@mithunsatheeshが指摘したように、フォルダー構造を変更してみました:

  • 事業
    • ソース
      • ユーティリティ - utils.js
  • main.js

私のrequireは次のとおりです。require('./src/utils/utils.js')

しかし、node main.jsまだ実行すると、以下のエラーが発生します。

Error: Cannot find module './src/utils/utils.js'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
4

3 に答える 3

4

用途: require('./utils.js');. これは、必要なモジュールのフォルダーにあるファイルからモジュールを要求する正しい方法です。

utils.jsルートにないと思われる相対パスまたは絶対パスを指定する必要があるためrequire('/utils.js');、正しいパスではありません。

例:

2 つのファイルが同じフォルダーにあるとしますutils.jsmain.jsの内容utils.jsは次のとおりです。

ユーティリティ.js

exports.foo = function () {
    console.log('foo');
};

fooから呼び出すにはutils.jsmain.js次を使用する必要があります。

main.js

require('./utils.js').foo();
于 2013-04-23T07:15:54.550 に答える