使用 requireJS 在 html 代码中加载 'lib/request'

Using requireJS to load 'lib/request' inside html code

我正在尝试创建一个向 neo4j 数据库发出请求的网页。

我从 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)})

}

在我的 projectFolder/index.html 中我有:

.
.
.
<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>
.
.
.

当我调用 submitQuery() 函数时,它不会通过 var r = require("request"); 行。

我搜索了一些相关问题并最终尝试插入

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

在我的 query.js 开头,但得到了相同的输出。

谁能给我一盏灯?谢谢!

您正在尝试通过浏览器使用 node.js 模块 ("request")。浏览器本身不支持 node.js,并且没有 require 功能。

如果您真的需要使用 node.js 模块,您应该考虑使用 browserify 将您的 node.js 客户端代码捆绑到 可以 运行 在浏览器中。

否则,this example that uses jQuery可能会有帮助。