在node.js中从哪里以及如何提供文件

时间:2014-08-29 16:07:34

标签: javascript node.js express

我是node.js / express.js的新手,我正在阅读一些教程。我很困惑因为我习惯了简单的apache逻辑,node.js / express.js逻辑让我感到困惑。请帮帮我。

This教程使用默认的快速路由来添加/获取数据库中的数据。但是,在乞讨时,在名为“第2部分 - 好的,精细的,让我们做的”部分“HELLO,WORLD!”编辑...\ROUTES\INDEX.JS文件以添加一个简单的html页面。为什么会这样?

  1. 我可以使用public文件夹来提供我的文件并使用相同的URL访问吗?

  2. 如果我有50个文件,我必须向我的...\ROUTES\INDEX.JS添加50个类似的功能,以便我可以为它们服务吗?即使是最简单的静态文件?

  3. 我可以将所有文件放在public文件夹中,然后修改app.js...\ROUTES\INDEX.JS吗?

  4. 此外,我正在阅读Don Nguyen所着的书 Jump Start Node.js 的第一章。它不编辑路由,只是向app.js添加方法并实现新模块(名为dbuser)以将用户添加到数据库。对于简单的get文件,这还会为app.js添加新的form.html功能。

    1. 同样,为什么我可以使用public文件夹,然后编辑app.js并创建我自己的模块?

    2. 同样,如果我有50个文件,我必须向我的app.js添加50个类似的功能,以便我可以为它们服务吗?即使是最简单的静态文件?

      最后,

    3. 这两种方法有什么区别?在哪种情况下我使用它们?

    4. 哪一个是最佳做法?

    5. 非常感谢

1 个答案:

答案 0 :(得分:0)

将名为“public”的文件夹作为静态文件提供:

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

教程未将“简单”索引页放入public的原因是他们的“简单”页面不是静态的。他们将数据{ title: 'Express' }传递到动态页面。

如果标题“Express”始终是静态的,那么您可以从public投放它。但是,为了本教程的目的,我们假设它们可以动态地将标题从“Express”更改为其他内容。