有没有一种方法可以从javascript中的文本文件导入字符串,流星

Is there a way to import strings from a text file in javascript, meteor?

本文关键字:文本 文件 导入 流星 字符串 javascript 一种 方法 有没有      更新时间:2023-09-26

我有一个程序,需要有长的多行字符串。将它们存储在.js文档中是一件痛苦的事情,因为js没有多行字符串,而我最终得到的是屏幕宽度的两倍长的行,看起来就像"这是一个例子"一样丑陋

有没有一种方法可以创建一个txt文件,从中我可以用新行导入字符串(或者至少只导入字符串)?

有一个Meteor Assets对象,允许您读取应用程序private目录中的文件,例如文本文件。

Assets.getText("foo.txt", function (err, res) { ... });

请参阅完整文档:http://docs.meteor.com/#assets

上一个答案仅适用于公共文件。如果要访问仅在服务器上可见的文件数据,则可能应该使用"fs"npm模块。详细描述如下:http://www.eventedmind.com/posts/meteor-file-uploader-part-2-server-side-save

meteor-yaml包使这一点变得很容易-它自动加载项目中的任何.yaml文件,将它们解析为JavaScript对象,并使它们在yaml.data.中可用

在我的应用程序中,我有一些流星应用程序之外的代码需要相同的设置,所以我更喜欢将配置文件放在流星项目目录之外。然后我加载这样的文件:

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包与流星团队希望现在加载节点包的方式有点过时,所以如果你使用的是最近版本的流星,该包就无法开箱即用。

我提交了一个关于这个的错误,但与此同时,为了避免它,我将它作为一个私人包安装,而不是从大气中安装,并修复了这个错误。为此:

  1. 克隆项目包/目录下的回购
  2. 注释掉Npm.require行
  3. 添加对dependent:的调用

    Nmm.dependents({yamljs:"0.1.4"});

  4. 奔跑流星。Meteor将检测Meteor-yaml私有包并安装依赖项。