在逻辑之后在express.js中提供UI

时间:2017-08-22 02:38:05

标签: javascript node.js angular express

我理解如何使用快递返回文件:

res.sendFile(path.join(__dirname, 'fileName.html'))

我了解如何使用以下方式提供文件夹:

app.use('/customAPI', express.static('folderName'));

使用文档here.

使用角色4构建创建具有UI的文件夹。所以,这一切都进入一个文件夹创建index.html和一堆*.bundle.html文件。 但是,我不明白在做一些逻辑之后如何提供UI。例如:

router.get("/", function (req, res) {
    let myParam = req.query.whatever;
    if (whatever) {
        res.redirect('//google.com'); //this works fine
    }
    else {
        //I don't know what to do here
        app.use("/somePath", 'dist'); //won't work because what do I put in "somePath"?
        res.sendFile(path.join(__dirname, '../../dist/index.html')); 
        //^ this only serves up the file but fails because it can't find the library files that index.html needs to load.
    }
});

我已经尝试过尝试使用res.render,但我不能100%确定这是否是我正在寻找的。

问题:如何正确提供包含所有ui信息的文件夹

1 个答案:

答案 0 :(得分:0)

当您提供特定路径时,这些路径仅发送该路径的内容,例如带有界面的HTML,HTML文件可以调用其他文件,如CSS,JS等......

您需要serve the static files in a public folder

app.use('/static', express.static(path.join(__dirname, 'public')))

static文件夹中的所有文件都将在网址/static/filename

中提供

在路径的html中,您必须包含所需的static文件夹的资源