【问题标题】:Uncaught Error: Module name "https" has not been loaded yet for context: _. Use require([])未捕获的错误:尚未为上下文加载模块名称“https”:_。使用要求([])
【发布时间】:2023-04-08 01:06:01
【问题描述】:

这是我遇到的错误-

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

我有一个调用脚本 Dataverse_API_node.jsexplore.html 页面,该脚本本身依赖于 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,因为它并没有真正的帮助。

感谢您的宝贵时间。

【问题讨论】:

    标签: javascript html node.js requirejs


    【解决方案1】:

    找到解决方案。只需使用浏览器。安装 browserify 然后运行以下命令-

    > browserify Dataverse_API_node.js > bundle.js
    

    Browserify 遍历脚本中的所有 'require' 并将其包装在 bundle.js 中,并帮助在浏览器中运行 node.js 模块。

    只需在您的 .html 文件中添加以下脚本-

    <script type=text/javascript src="scripts/bundle.js"></script>
    

    【讨论】:

    • 很好地解决了这个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-04
    • 2016-11-16
    • 1970-01-01
    • 2022-09-26
    • 1970-01-01
    • 1970-01-01
    • 2020-06-03
    相关资源
    最近更新 更多