在控制器方法内部,有没有办法访问静态文件?我使用mailgun发送电子邮件,需要在我的请求中发送一个html文件,该文件位于/ public。
app.post('/', function(req, res) {
var html = getHtml(); // Need to get the html here to pass to mailgun
}
答案 0 :(得分:2)
有没有办法使用Express提供的一些方便的设备访问静态文件目录?不,不是我知道的。
有没有办法获得你想要做的事情?当然。使用path
模块阅读它。我也喜欢使用const path = require("path");
const fs = require("fs");
// Do however you like to build paths.
// I like to use resolve so I always get an absolute path.
const publicPath = path.resolve(__dirname, "public");
const htmlPath = path.join(publicPath, "thefile.html");
app.post('/', function (req, res, next) {
fs.readFile(htmlPath, "utf8", onFile);
function onFile (err, html) {
if (err) return next(err); // assuming you're using an error handler, like you probably should be
mailgunThatStuff(html, mgDone);
}
function mgDone (err) {
if (err) return next(err);
res.end("OK mailgun'd that thing");
}
}
模块来生成我的文件路径。
p
这可能有点罗嗦。有意义吗?
答案 1 :(得分:0)
你可以试试这个
(app.js)你刚刚提到app.js中的静态文件夹
contentOffset
在./public/pages / 中的本地花卉中的index.html页面
var express = require('express');
var app = express();
app.use(express.static('public'));
试试这个工作正常