2017-05-17 5 views
0

jqueryとjsdomをHerokuでホストされているnode.jsサーバーに含めると、コンソールからjQueryを使用してajax呼び出しを行うことができます。 Webページ)$ .ajax({...})のようです。エラー:Heroku上のnode.jsでモジュール 'jquery'を見つけることができません

私はHerokuの上で私のノードサーバを配置する場合は、次のエラーを取得しておいてください。ここでは

Error: Cannot find module 'jquery' 
at Function.Module._resolveFilename (module.js:469:15) 
at Function.Module._load (module.js:417:25) 
at Module.require (module.js:497:17) 
at require (internal/module.js:20:19) 
at Object.<anonymous> (/app/server.js:19:18) 
at Module._compile (module.js:570:32) 
at Object.Module._extensions..js (module.js:579:10) 
at Module.load (module.js:487:32) 
at tryModuleLoad (module.js:446:12) 
at Function.Module._load (module.js:438:3) 
Process exited with status 1 

は私のpackage.jsonがどのように見えるかです:ここでは

{ 
    "name": "node-api", 
    "main": "server.js", 
    "dependencies": { 
    "body-parser": "1.17.1", 
    "express": "4.15.2", 
    "jquery": "3.2.1", 
    "jsdom": "10.1.0", 
    "mongoose": "4.9.9" 
    }, 
    "engines": { 
    "node": "6.10.3" 
    } 
} 

は、私は、サーバーにjqueryのを含める方法です.js:

global.jquery = require('jquery'); 
window.$ = window.jquery = jquery; 

ご協力いただければ幸いです。

Thxを、

JSは

答えて

0

Herokuのは

新しい、パッケージのフェッチを強制的にfalseにNPMキャッシュのHerokuのフラグを設定しようとすることができる新しいパッケージをインストールしていないようです再度展開する

heroku config:set NODEMODULESCACHE=false 
git commit -am 'build' --allow-empty 
git push heroku master 
heroku config:unset NODEMODULESCACHE 
+0

私はこれを試しても問題は解決しません – jsplugged

+0

ローカルマシンでは動作しますか? – Karim

+0

いいえ、私のローカルマシンでは動作しません。私はnajaxと呼ばれる "ノードのjQuery ajax-stye httpリクエスト"を見つけました。私は今それを試しており、それは素晴らしい動作するようだ!私はこれが他の人々に助けてくれることを願っています – jsplugged

0

node-fetchまたは類似のパッケージを使用できます。自分のreadmeファイルからのコード例:

// json 

fetch('https://api.github.com/users/github') 
    .then(function(res) { 
     return res.json(); 
    }).then(function(json) { 
     console.log(json); 
    }); 

// catching network error 
// 3xx-5xx responses are NOT network errors, and should be handled in then() 
// you only need one catch() at the end of your promise chain 
+0

フェッチしようとしましたが、エラーを処理するときにいくつかの問題が続いていました(たとえば、nhandledPromiseRejectionWarning:未処理の約束の拒否)。だから、私はjQueryを動作させるために他の方法をいくつか試してみました。そして、最終的にnajaxと呼ばれるノードで "jQuery ajax-stye http requests"を発見しました。私は今それを試しており、それは素晴らしい動作するようだ!私はこれが他の人々を助けることができることを願っています – jsplugged

0

私は「ノードでjQueryのAJAX-麦粒腫のHTTP要求」としての地位を定義najaxを使用して終了。

ローカルマシンとヒロクの両方で動作します。

私はそれが他の人々を助けることを願っています。

関連する問題