这是我得到的错误 -
Uncaught Error: Module name "https" has not been loaded yet for context: _. Use require([])
http://requirejs.org/docs/errors.html#notloaded
at makeError (require.js:168)
at Object.localRequire [as require] (require.js:1436)
at requirejs (require.js:1797)
at Dataverse_API_node.js:1
我有一个 explore.html 页面,它调用脚本 Dataverse_API_node.js ,它本身依赖于 require.js 文件。我的 Dataverse_API_node.js 脚本应该在 explore.html 页面上显示其输出数据。但是,当我加载 explore.html 页面时,我遇到了上述错误。
请注意,我的 Dataverse_API_node.js 脚本独立运行且没有错误,并在通过 Node.js命令提示符运行时在命令提示符中显示数据。
Dataverse_API_node.js 脚本的前几行 -
const https = require("https");
var parseString = require('xml2js').parseString;
const demo_url = "https://demo.dataverse.org"
const actual_url = "https://demo.dataverse.org/dataverse/hbstest"
const search_uri = "/api/search"
const options = "?q=*&subtree=COSgak"
这是 explore.html 的一部分,我正在调用 Dataverse_API_node.js 脚本,并且应该显示数据 -
<p>
<script src="Dataverse_API_node.js" src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.5/require.js">
document.write(search_for_all("https://demo.dataverse.org", 0, 'file'));
</script>
</p>
我是Javascript的新手,非常感谢这个错误提供了一些帮助。请不要将我发送到 requirejs.org ,因为它没有真正的帮助。
感谢您的时间。
答案 0 :(得分:1)
找到解决方案。只需使用browserify。安装browserify,然后运行以下命令 -
> browserify Dataverse_API_node.js > bundle.js
Browserify会在您的脚本中浏览所有“ require ”并将其包装在 bundle.js 中,并有助于在浏览器中运行node.js模块。< / p>
只需在 .html 文件中添加以下脚本 -
即可<script type=text/javascript src="scripts/bundle.js"></script>