【问题标题】:express.js exclude a path for html files?express.js 排除 html 文件的路径?
【发布时间】:2016-10-28 14:40:51
【问题描述】:

我使用车把作为模板引擎,我有

app.engine('handlebars', exphbs({defaultLayout: 'layout'}));
app.set('view engine', 'handlebars');

在我的 app.js 中。

然后,像往常一样,我有类似的路线

router.get('/dashboard', function(req, res, next) {
    res.render('dashboard')
}

我认为dashboard.hbs 在哪里。

但是如果我想使用example.com 的路径来提供一个完整的html 文件,比如html5 模板呢?我可以不使用车把吗?因为所有的图片和css都准备好了,我只需要上传它们。但由于我使用模板引擎,我觉得我被绑定到视图模板。

【问题讨论】:

    标签: javascript node.js express handlebars.js


    【解决方案1】:

    如果你只是添加一个静态路由,如

    app.use(express.static('public'));
    

    在其他路由之前,并将所有静态文件添加到文件夹 /public 中,您可以同时提供 .html.js.css 静态文件以及所有不匹配的 URL一个静态文件,最终出现在路由器和您的模板中。

    https://expressjs.com/en/starter/static-files.html

    【讨论】:

    • 那你已经有了处理所有静态文件的路由了?
    • 我在我的公共文件夹中放置了一个名为 home 的文件夹,我必须访问 localhost:3000/home,这不是我想要的。我只是想让 localhost:3000 为我的主页提供服务,但如果我将主页的 css 与我的应用程序放在一起,我会很混乱。无论如何,我可以用 localhost:3000/home 指向/映射 localhost:3000?
    • 不,这就是重点,如果您的静态路由是/public,则该文件夹不可见,/public 根目录中的任何静态文件都将由http://yoursite.com/static_file.html 访问,然后您'会在/publicinside 中添加cssjs 文件夹以执行http://yoursite.com/css/styles.css 等。
    猜你喜欢
    • 2021-05-27
    • 2015-08-25
    • 2019-01-14
    • 1970-01-01
    • 1970-01-01
    • 2019-12-11
    • 1970-01-01
    • 2016-09-21
    • 1970-01-01
    相关资源
    最近更新 更多