2014-08-29 41 views
1

我是node.js/express.js的新手,我正在阅读一些教程。我很困惑,因为我习惯了简单的apache逻辑,node.js/express.js逻辑混淆了我。请帮帮我。在哪里以及如何在node.js中提供文件

This教程使用默认的高速路由来从数据库中添加/获取数据。但是,在乞讨,在指定的部分!“PART 2 - 正常,精细,让我们做‘你好,世界’编辑...\ROUTES\INDEX.JS文件中添加只是一个简单的HTML页面,这是为什么

  1. 能?我只是用public文件夹为我的文件,并使用相同的URL访问?

  2. 如果我有像50个文件,我要补充50个类似的功能,以我的...\ROUTES\INDEX.JS,所以我可以为他们服务?即使是最简单静态文件?

  3. 我可以只将我所有的文件放在public文件夹中,并且t母鸡编辑app.js...\ROUTES\INDEX.JS

而且我读的书跳转开始Node.js的唐阮的第一章。它不会编辑路线,只需将方法添加到app.js,并实现将用户添加到数据库的新模块(名为dbuser)。这也为app.js增加了一个新的get功能,用于简单的form.html文件。

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

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

    最后,

  3. 是什么这两种方法之间的区别?在这种情况下,我使用它们?

  4. 哪一个是最佳做法?

非常感谢您

+0

http://blog.modulus.io/nodejs-and-express-static-content – 2014-08-29 16:11:19

+0

@FelixKling谢谢,来自'public'作品的文件。我问是否可以从'public'服务,并仍然使用app.js或路由,就像上面的教程那样。 – slevin 2014-08-29 17:08:54

回答

0

以服务姓“公”为静态文件的文件夹:

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

原因教程并没有把自己的“简单”的索引页转换成public,是他们的'简单'页面是非静态。他们将数据{ title: 'Express' }传递给动态页面。

如果标题'Express'始终是静态的,那么是的,你可以从public服务它。然而,为了教程的缘故,我们假设他们可能会动态地将标题从“Express”改为其他。

+0

谢谢,我知道,这行默认是在我的'app.js'中,并从'public'作品提供文件。我问我是否可以从'public'服务,并仍然使用'app.js'或路由,就像上面的教程那样。 – slevin 2014-08-29 16:48:59

+0

编辑我的答案。 – 2014-08-29 16:54:39

+0

好的谢谢。那么我的其他问题呢?我是否必须为每个动态文件在'app.js'(或'index.js')中添加一个方法?上述教程中的方法有什么区别?谢谢 – slevin 2014-08-29 17:11:20

相关问题