2016-04-13 1 views
0

J'essaye de créer une page Web qui fera des requêtes dans une base de données neo4j.Utiliser requireJS pour charger 'lib/request' dans le code html

Je fais la demande à partir d'un fichier javascript /projectFolder/js/query.js:

function submitQuery() { 
    var r = require("request"); 
    var txUrl = "http://localhost:7474/db/data/transaction/commit"; 

    //defines the cypher query 
    var query="MATCH (n:Word) RETURN n, labels(n) as l LIMIT {limit}" 
    var params={limit: 10} 
    var cb=function(err,data) { console.log(JSON.stringify(data)) } 

    r.post({uri:txUrl, 
      json:{statements:[{statement:query,parameters:params}]}}, 
      function(err,res) { cb(err,res.body)}) 

} 

et dans mon projectFolder/index.html je:

. 
. 
. 
<script data-main="js/query.js" src="js/libs/require-2.1.20.min.js"></script> 
<head> 
    <script type="text/javascript" src="query.js"></script> 
</head> 
. 
. 
. 

Quand j'appelle la fonction submitQuery() ne passe pas par la ligne var r = require("request"); .

J'ai cherché des questions connexes et a fini par essayer d'insérer

require.config({ 
    baseUrl: './js/', 
    paths: { 
     request:'libs/require', 
     }, 
}); 

au début de mon query.js, mais on m'a donné la même sortie.

Quelqu'un peut-il me donner une lumière? Je vous remercie!

Répondre

1

Vous essayez d'utiliser un module node.js ("request") à partir d'un navigateur. Les navigateurs ne supportent pas nativement node.js et n'ont pas de fonction require.

Si vous avez vraiment besoin d'utiliser Node.js modules, vous devriez regarder dans browserify pour emmitoufler votre code client Node.js dans un script qui peut exécuter dans un navigateur.

Sinon, this example that uses jQuery peut vous être utile.

+0

Les deux alternatives semblent vraiment bien! Je vous remercie! –