繁体   English   中英

安装 nodejs 后未定义要求

[英]Require is not defined after installed nodejs

首先,我从链接下载了 nodejs。

然后我安装了npm install -g browserify

然后我安装了fs npm install fs

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script>
const fs = require('fs');
fs.writeFile("/tmp/test", "Hey there!", function(err) {
    if(err) {return console.log(err);}
    console.log("The file was saved!");
});
</script>
</body>
</html>

我收到以下错误:

Uncaught ReferenceError: require is not defined
    at index.html:12:12

为什么 require 仍然没有定义? 我该怎么做才能使代码可执行?

Node.js是运行JavaScript的独立环境,不是浏览器扩展。

要运行 Node.js 代码,请将其保存在文件扩展名为.js的文件中,然后运行:

node yourFile.js

如果你想要 Node.js 代码和浏览器代码进行交互,那么典型的方法是在 Node.js 中编写一个服务器来托管 web 服务。 Express.js 是一种流行的方式来做到这一点。 然后,您可以使用 Ajax 向该 web 服务发出 HTTP 请求。

对于双向通信(与 Ajax 的请求/响应相反),请查看 Socket.io。


我只想让它成为本地存储,所以我不想在用户之间共享数据,我只想与自己的本地存储数据进行交互。

如果你想使用浏览器提供的localStorage API ,那就这样做吧。

localStorage不需要 Node.js。它不需要内置于 Node.js 中的fs模块。它不需要作为 CommonJS 模块规范一部分的require方法。

您不能通过在浏览器中运行的代码在用户的文件系统上随意乱搞。 那将是一个巨大的安全问题。

您不能在浏览器环境中使用节点 API; 更具体地说,浏览器不允许脚本直接与 Node.js 等文件 API 交互。

如昆汀所说,要么在节点中运行代码,要么使用浏览器文件 api

暂无
暂无

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

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