Express static不会加载node_modules目录

时间:2017-09-17 20:15:52

标签: javascript node.js express

为什么我的网站无法使用node_modules目录?这是我的服务器。

const express = require('express');
const app = express();
app.use(express.static(__dirname + '/public'));
app.listen(8080, 'localhost');

我使用公共目录成功但无论我写什么,都没有任何反应。我试着添加这个。

app.use(express.static(__dirname + '/node_modules'));

仍然没有。当我添加这个:

app.use(express.static(__dirname));

一切似乎都有效,但是当我向我的网站添加路由时,服务器将所有文件提供给客户端和所有控制器,这就成了问题。 请帮我。提前致谢。 那是我的项目结构:

1 个答案:

答案 0 :(得分:1)

通常不需要以这种方式访问​​节点模块。如果要使用标题为fake-module的模块,则可以在控制台中运行npm i --save fake-module。这会将其安装在node_modules文件夹中,但您无需使用目录路径访问它。相反,您只需在快速文件的顶部实例化const fakeModule = require('fake-module')即可。可以想象,可以使用目录路径以某种替代方式访问该模块,但这不是标准做法,我从未遇到过必要的情况。实例化后,您应该能够使用fakeModule变量来使用模块的每个导出部分。