我使用express将html文件发送到传入 GET 请求:
app.get('/', function(req, res) {
res.sendFile(path.join(__dirname + '/public/index.html'));
});
在那个html文件中,我声明了(不确定在这里使用哪个词)另一个javascript文件script.js。通过
<script src="script.js"></script>
中的 <head>
是否可以在此script.js中访问像require()
这样的nodejs函数?
如果是,我做错了什么/我需要包括哪些才能使用它?
答案 0 :(得分:0)
您的script.js
文件在浏览器中运行,只能访问浏览器JS环境所具有的功能。由于浏览器中没有内置require()
,因此您无法在require()
中直接使用script.js
,对于未内置到浏览器中的其他node.js功能也是如此环境。
如果您需要访问只能在服务器上执行的操作(例如访问服务器端数据库),那么您可以在服务器上创建路由并使用来自script.js
的Ajax调用来发送请求到那条路线并得到回应。
对于require()
具体来说,有一些第三方库(不是node.js的一部分或内置于浏览器中)允许您在浏览器中获得类似需求的功能,但这是一个特例。像fs.readFile()
这样的其他node.js功能超出了浏览器环境的功能。