2017-03-18 30 views
0

私はJavaScriptを学んでおり、私のjsファイルにnpmを使っていくつかのモジュールをインポートしようとしました。 require()を使用して、いくつかのモジュールをインポートするには、それが正常に動作しますが、openpgp.jsのために私はここに私のpackage.json未知のエラー: 'openpgp'モジュールを見つけることができません

Uncaught Error: Cannot find module 'openpgp'.

を得た理由は、私は知らない:ここでは

{ 
    "name": "User", 
    "version": "1.0.0", 
    "main": "index.js", 
    "dependencies": { 
    "openpgp": "^2.5.1", 
    "truffle-artifactor": "^2.1.2" 
}, 
    "devDependencies": {}, 
    "scripts": { 
    "test": "echo \"Error: no test specified\" && exit 1" 
    }, 
    "keywords": [], 
    "author": "", 
    "license": "ISC", 
    "description": "" 
} 

を私のアプリの設定:app config

  1. 私は私の内部でnpm install openpgpを実行しますjsファイル。私はvar openpgp = require('openpgp');を入力して、モジュールをインポートする私のjsで

  2. は、その後、私は私のブラウザをリフレッシュして、私のエラーを参照してください。私は、ノードコンソールを使用した場合についてはbrowser error

を、モジュールが正常に動作します!

私は本当にjavascriptで新しいです、私は何か間違っているかもしれません。もし誰かがアイデアを持っているなら、それは役に立つでしょう!

+0

あなたはすでに 'NPM --saveのOpenPGPのインストールを実行しようとしたことがあり'? – Danibix

+1

画像ではなく実際のコードを掲載してください。重要な部分は、おそらくpackage.jsonです。openpgpに必要なファイルがあれば、npm-debug.logがある場合もあります。 – Paul

+0

@Danibixはい私は試しましたが、 '-g'を使っても何も変わりません... –

答えて

0

NodeのようにブラウザモジュールにNodeモジュールを必要とするには、外部ライブラリが必要です。たとえば、browserify libを使用できます。

Browserifyは、必要な依存関係を持つスクリプトをWebページに含めることができる単一のファイルにバンドルすることができます。


ブラウザのウェブサイトとドキュメントは十分なはずです。私はここでの主な手順を報告:

browserify yourScriptName.js -o bundleFile.js 

-o次のコマンドを使用してrequire("openpgp")

npm install -g browserify 
  • バンドルスクリプト:

    1. がシステムにbrowserifyインストールパラメタは出力ファイルを選択するためのもので、省略された場合、browserifyはprinを行います標準出力のトン出力)

    2. は今、あなたは次のタグを使用して、Webページでの前の出力を含めることができます。

      <script src="bundleFile.js"></script> 
      
  • +0

    作品です!どうも ! –

    関連する問題