node.js中的静态文件的Pah参考

时间:2019-03-11 16:25:38

标签: node.js express

您好,我无法访问此文件,出现模块未找到错误,我同时尝试了根文件夹和公用文件夹,可以请人帮忙吗?

app.use(express.static('public'))
var file = require('public/test.png');

2 个答案:

答案 0 :(得分:1)

require专门用于nodejs模块,不能用于静态文件

app.use(express.static('public'))确保现在可以通过您的API通过yourpath / test.png来访问公用文件夹

您想要的是加载图像,以便可以在函数中使用它,因此,您应该使用fs

fs.readFile('public/test.png', function(err, data) {
  if (err) throw err; // Fail if the file can't be read.
  //Do whatever you want with 'data'
});

答案 1 :(得分:0)

require是保留字,意在加载其他nodejs模块,但不加载网站的静态资产。

如果您遵循the docs中的步骤,一旦执行app.use(express.static('public')),您的应用程序将自动在“公共”文件夹下提供静态文件。

如果由于某种原因需要加载文件,请查看fs module