繁体   English   中英

尚未为上下文加载模块

[英]Module has not been loaded yet for context

我试图在我的Javascript代码中使用fs on。 我以前在工作中使用过它,但对它还不太熟悉,但是,当我尝试在家中使用它时,必须手动设置(因为我的项目很小,所以我没有使用grunt或其他辅助工具)来设置requirejs。 我尝试了很多可以在网上找到的示例,但似乎无法使fs正常工作。 在当前的实现中,我的代码直接从我的JS文件运行。 我不断得到:

对于上下文,尚未加载模块名称“ fs”,我检查了需求文档,他们说要实现以下功能: https : //requirejs.org/docs/errors.html#notloaded

我已经尝试了文档中的每个配置以及在网上找到的多个示例。 我的文件目录现在已经全部增加,但是我又回到了一个错误。

在我的js文件中

require(['file-system'], function (fs) {
    //fs is now loaded.
    console.log('fs', fs);
});

在我的html中,它在尝试的迭代过程中发生了变化,但还是基于此:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <script data-main="jsFile.js" src="scripts/require.js"></script>
    </head>
    <body>
        <p id="cards"></p>
        <p id='POS'></p>
        <script src="jsFile.js"></script>
   </body>
   </html>

结果执行我的代码,错误为:

未捕获的错误:尚未为上下文_加载模块名称“ fs”。 使用> require([]) https://requirejs.org/docs/errors.html#notloaded在Object.s的makeError(require.js:5)[按要求](require.js:5)在requirejs(require .js:5)在file-system.js:5

file-system库仅在节点环境,服务器端或命令行中运行。 因此,不能像您在此尝试的那样从客户端脚本直接访问它。

在浏览器中,还有其他NPM软件包可模拟前端的fs API。 但是,您仍然需要进行设置,以使程序包的源代码在运行时可用。 这可能涉及将脚本从node_modules复制到服务器端代码中的公共目录,或使用构建管道工具(例如Gulp)。

但是,通常来说,在浏览器中运行的客户端JS根本不应该依赖于访问外部文件系统(文件输入或其他提供此类访问权限的用户活动之类的东西除外)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM