我有一個程序,我需要很長的多行字符串。這是把它們存放到的.js文檔中的痛苦,因爲JS沒有多線串,我最終不得不一個只要屏幕寬度線看上去醜的兩倍「這是一個例子。\ n」個有沒有一種方法可以從JavaScript,流星中的文本文件導入字符串?
有沒有辦法有一個txt文件,從哪裏我可以用新行(或至少只是導入字符串)導入字符串?
我有一個程序,我需要很長的多行字符串。這是把它們存放到的.js文檔中的痛苦,因爲JS沒有多線串,我最終不得不一個只要屏幕寬度線看上去醜的兩倍「這是一個例子。\ n」個有沒有一種方法可以從JavaScript,流星中的文本文件導入字符串?
有沒有辦法有一個txt文件,從哪裏我可以用新行(或至少只是導入字符串)導入字符串?
的meteor-yaml包讓一切變得簡單 - 它自動加載任何.yaml文件在您的項目,其解析爲JavaScript對象,並使其在YAML.data可用。
在我的應用程序有一個需要相同的設置流星應用程序之外的一些代碼,所以我更喜歡有config文件中的流星項目目錄之外。然後我打開這樣的文件:
var fs = Npm.require('fs');
fs.readFile('<path to file>.yaml', 'utf8', function(err, data) {
if(err) {
//Throw exception if the file is missing
throw new Error("Missing config file")
}
else {
//Read the file into a JavaScript object
config = YAML.parse(data);
}
});
不幸的是,流星YAML包是過時的一點與流星團隊如何想因此,如果您使用的是最新版本的節點程序包被裝載現在,流星的包裝將無法正常工作。
我對此提交了一個bug,但同時爲了解決這個問題,我將它安裝爲private package,而不是從大氣中安裝它,並修復了這個錯誤。要做到這一點:
添加呼叫到取決於:
Npm.depends({yamljs: 「0.1.4」});
運行流星。 Meteor將檢測流星 - 私人包並安裝依賴關係。你是如何呈現的字符串將是有益的
以前的答案僅適用於公衆的文件。如果你想訪問僅在服務器上可見的文件數據,你應該使用'fs'npm模塊。在此處詳細描述:http://www.eventedmind.com/posts/meteor-file-uploader-part-2-server-side-save
有一個流星Assets
對象,它允許您通過以下方式讀取應用程序的private
目錄中的文件,例如文本文件。
Assets.getText("foo.txt", function (err, res) { ... });
查看完整的文檔:http://docs.meteor.com/#assets
文檔說資產必須是靜態的。有什麼方法可以讓我在應用程序運行時加載新文件並獲取文本? – FullStack
您需要動態提供這些服務。 –
更多信息。它是HTML嗎?它在一個對話框中嗎?該計劃是做什麼的?的 – Dropzilla
可能重複[我怎樣一個文本文件的內容加載到一個javascript變量?](http://stackoverflow.com/questions/196498/how-do-i-load-the-contents-of-a- text-file-into-a-javascript-variable) – zurfyx
不,絕對不是重複的;這在Meteor中很難做到,而且這個功能還沒有實現。 –