约曼提示:如何从字符串中生成有效的文件名

Yeoman prompt: how generate a valid filename from a string?

本文关键字:有效 文件名 字符串 提示      更新时间:2023-09-26

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

我的目标是用普通字母代替重音字母,用破折号代替空格,等等。

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

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

this._.dasherize(str)

尽管如此,您还是可以使用一些其他选项。例如,您可以查看undercore.string模块,该模块为此提供了一些功能。因此,我强烈推荐slugify功能:

来自文件:

将文本转换为URL段塞。用破折号替换空白、强调字符和特殊字符。

举个例子:

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

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

希望这能有所帮助。

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

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