我正在尝试在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 在makeError(require.js:5) 在Object.s [根据需要](require.js:5) 在requirejs(require.js:5) 在file-system.js:5
答案 0 :(得分:0)
file-system
库仅在节点环境中,在服务器端或从命令行运行。因此,您将无法通过客户端脚本直接访问它。
在浏览器中,还有其他NPM软件包可模拟前端的fs
API。但是,您仍然需要进行设置,以使程序包的源代码在运行时可用。这可能涉及将脚本从node_modules
复制到服务器端代码中的公共目录,或使用构建管道工具(例如Gulp)。
但是,一般来讲,在浏览器中运行的客户端JS根本不应该依赖于访问外部文件系统(文件输入或提供这种访问权限的其他用户活动除外)。