2014-08-29 90 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

相關問題