在我的javascript html源

时间:2016-12-02 00:02:57

标签: javascript html node.js express

我使用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函数?

如果是,我做错了什么/我需要包括哪些才能使用它?

1 个答案:

答案 0 :(得分:0)

您的script.js文件在浏览器中运行,只能访问浏览器JS环境所具有的功能。由于浏览器中没有内置require(),因此您无法在require()中直接使用script.js,对于未内置到浏览器中的其他node.js功能也是如此环境。

如果您需要访问只能在服务器上执行的操作(例如访问服务器端数据库),那么您可以在服务器上创建路由并使用来自script.js的Ajax调用来发送请求到那条路线并得到回应。

对于require()具体来说,有一些第三方库(不是node.js的一部分或内置于浏览器中)允许您在浏览器中获得类似需求的功能,但这是一个特例。像fs.readFile()这样的其他node.js功能超出了浏览器环境的功能。