Yeoman提示:如何从字符串生成有效的文件名?

时间:2013-08-06 14:53:07

标签: javascript node.js filenames yeoman

是否在Yeoman或Node中实现了从字符串生成有效文件名的方法?

我的目标是用普通字母替换重音字母,用短划线替换等等。

2 个答案:

答案 0 :(得分:4)

基本上,你需要的只是一个删除特殊字符的函数,并且可能使用任意系统替换它们。

一个选项已经被passy命名,即使用:

this._.dasherize(str)

尽管如此,您可能还会使用其他一些选项。例如,您可以查看underscore.string module,它为此提供了一些功能。从这些,我强烈推荐slugify函数:

来自documentation

  

将文本转换为URL slug。用短划线替换空格,突出显示和特殊字符。

举个例子:

_.slugify("Un éléphant à l'orée du bois")
=> 'un-elephant-a-loree-du-bois';

这应该是您所需要的,并且仍然保持良好的可读性。

希望这有帮助。

答案 1 :(得分:3)

对于Yeoman生成器,处理此问题的常用方法是在JavaScript生成器代码中使用this._.dasherize(str)或在模板中使用<%= _.dasherize(str) %>。它不会处理重音字母,但无论如何都应该是有效的文件名。

console.log(this._.dasherize("some userProvided string")); 
// output: "some-user-provided-string"