在前端开发过程中,常常需要处理数据文件,比如博客文章、教程等等。而这些数据文件具有一定的规格,如Front Matter规范,为了方便地处理这些数据文件,npm上出现了fastmatter这个包。下面我们就来一步步了解fastmatter的使用方法。
安装fastmatter包
我们首先需要安装这个包,可以通过npm install命令来安装。
npm install fastmatter --save-dev
使用方法
使用fastmatter包,只需在文件引入时调用它的parser()函数即可,该函数返回一个对象,包含解析出来的front matter信息与markdown的其他内容。
-- -------------------- ---- ------- ----- -- - ---------------------- ----- ----------------------- - ---- ------ -- -------- --- ----- -- -- ---------- ----- ------------ ----- - ---------------------------- ------------------------ -- - ------ --- --------- - ------------------ -- - ---- -- -- --------
我们可以看出,fastmatter的parser()函数将front matter部分解析出来,并将其以对象的形式返回,此外还返回了其他内容。此时我们可以使用attributes对象来处理解析出来的front matter。
fastmatter与其他包一起使用
当我们需要将经过处理后的front matter端口给其他包使用时,可以使用unyamlify()方法来获取属性的副本。unyamlify()方法会将JSON string属性和对象进行反序列化。
-- -------------------- ---- ------- ----- -- - ---------------------- ----- ---- - ---------------- ----- ----------------------- - ---- ------ -- -------- --- ----- -- -- ---------- ----- ------------ ----- - ---------------------------- ------------------------------------------------------------------ --- -------- --- --------- -
快速访问front matter信息
因为front matter信息是一个对象,我们可以通过文本属性名来快速访问它们。这对想要在多个地方访问front matter信息的用户来说非常有用。
-- -------------------- ---- ------- ----- -- - ---------------------- ----- ----------------------- - ---- ------ -- -------- --- ----- -- -- ---------- ----- ------------ ----- - ---------------------------- --- ----- - ----------------- ------------------- -- -- --------
限制front matter总数量
我们还可以限制front matter属性的总数量和大小。这些限制可以设置在解析器的options对象中,比如可以用于防止代码注入攻击。
-- -------------------- ---- ------- ----- -- - ---------------------- ----- ----------------------- - ---- ------ -- -------- --- ----- -- -- ---------- ----- ------- - - --------- -- -------- ---- -- ----- ------------ ----- - --------------------------- --------- ------------------------------ -- -- --------
总结
通过以上的fastmatter使用教程,我们可以快速地处理数据文件,在开发过程中提高了效率。需要注意的是,使用过程中需要注意安全性,合理设置属性数量以及大小,防止代码注入攻击等等。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/66748