2017-02-24 26 views
-1

ローカルモジュールの作成方法を理解しようとしています。ノードアプリケーションのルートには、libという名前のディレクトリがあります。私が実行しようとする場合、モジュールをローカルモジュールとして使用しようとしたときにモジュールが見つかりません。

"dependencies": { 
    "chat-service": "^0.13.1", 
    "greet-module": "file:lib/Test" 
} 

今:私は地元のモジュールへのパスのエントリと私package.json変更した

var Test = function() { 
    return { 
     say : function() { 
      console.log('Good morning!'); 
     } 
    } 
}(); 

module.exports = Test; 

:libディレクトリの中に、私は次のようになります.jsファイルを持っています

:それは言ってエラーをスロー

var greet = require('greet-module'); 

console.log(greet.say()); 

:のようなテストスクリプト

ここで間違いがありますか?

答えて

0

modules.exportが間違っています。 smodule.exportsである必要があります。

また、npm installを実行するために依存関係を追加した後で確認してください。これによりファイルがnode_modulesにコピーされ、require機能で使用できるようになります。

参考のためhereを参照してください。

更新:

私は気づいたこれを理解するためにいくつかの例を通過した後、ほとんどのプロジェクトは、私は以下のレイアウト構造を有しています。おそらくローカルモジュールを独自のスタンドアロンパッケージにフォーマットする必要があります。独自のフォルダとpackage.jsonファイルの依存関係と名前を指定します。次に、それにnpm install -S lib/testを含めることができます。

私がそれをしたら、それは私のために働いた、そしてそれは前進する良い構造になるだろう。乾杯。

enter image description here

コードのhereを参照してください。

+0

大丈夫です。それはタイプミスでした。同じエラーが発生します。 – helloJSON

+1

私はそれが 'modules.exports'であるべきではないと思います、それは' module.exports'であるべきです –

+0

@MayankShuklaありがとう、修正されました。私はいつもそれを台無しにする。それをもう一度試してみてください。 – matt

関連する問題