2016-03-01 39 views
0

我創建了一個個人應用程序來跟蹤我想閱讀的書籍和我讀過的書籍。爲了簡單起見,我有一個名爲wishlist.txt的文件,我想讀取它並添加到節點中。是否可以讀取和寫入不在帶節點的項目文件夾中的文件?

var data = fs.readFileSync('wishlist.txt','utf8').toString(); 

工作正常。

我一直在使用這個應用程序一個月,而且我厭倦了每次需要使用此應用程序時都需要運行服務器的事實。

所以我想把項目放在heroku中,但是把wishlist.txt放在我的電腦裏。因此,如果您查看該網站,您會看到一個損壞的應用程序,但是當我查看該網站時,我將能夠使用它。

爲了測試,我試圖移動wishlist.txt到桌面,現在我得到這個錯誤Error: ENOENT: no such file or directory, scandir

所以是有可能有應用程序上線,並已就看我的本地文件?

爲簡單起見,我使用wishlist.txt,實際上應用程序正在從我所有的電子書進行掃描。

回答

0

如果可能就像它會是一個嚴重的安全漏洞。 (任何Heroku的應用程序可以掃描你的本地驅動器的任何時間?)

我看到它的方式,你有3種選擇:

  1. 如果你想要做這樣的事情,你必須創建某種計算機上的文件服務器並更改您的應用程序代碼以從此服務器獲取數據。

  2. 如果您只在本地需要您的應用程序,則可以在本地計算機上將其作爲服務運行,並確保它將在重新啓動後啓動。 (而不是部署到heroku)。

  3. 雖然可以將文件上傳到heroku,但只需將其添加到源代碼中即可訪問,但當然如果您將任何新書添加到硬盤驅動器,則必須將其添加到源中代碼並重新部署。

如果您需要任何上述任何進一步的細節,只是評論。

+0

你說得對安全的事情,我非常喜歡這個應用程序,這是我的一廂情願。你的第二選擇聽起來很完美我會怎麼做? **這意味着我不需要終端打開希望'node server.js' ** – relidon

+1

是的,您現在正在作爲一個進程運行,當您將它作爲服務使用時,它將在後臺運行。如何做到這一點有很多選擇,只要在操作系統上尋找「節點即服務」即可。 (例如,永遠,節點窗口..)如果你發現這個答案有幫助,請將它標爲正確的:) – kutomer

+0

永遠在我之前的研究中出現,所以我會嘗試。最後一件事,永遠使用意味着應用程序即使在重新啓動後也會啓動?謝謝 – relidon

0

就我而言,是的。您只需要通過src代碼找到文件的位置,將其分配給一個變量,並將變量放在讀取文件同步中。

+0

我不能在正確的位置。你知不知道怎麼? – relidon

+0

首先轉到實際文件並單擊屬性。複製文件位置,然後將其粘貼到src上,然後在其末尾添加\ wishlist.text。 –

+0

是的,這不能在節點上工作,但我認爲有人知道一些全面的hack – relidon

相關問題