我正在尝试使用slush生成模板,我的代码仓库在这里: https://github.com/NaveenDK/slush-template-generator/blob/master/templates/react-native-app/MediaButtons.js
即使模板文件本身运行正常,当我尝试使用MediaButtons.js文件中的以下行生成slush时
let match = /\.(\w+)$/.exec(filename);
let type = match ? `image/${match[1]}` : `image`;
我收到一条错误消息,表示匹配'没有定义,当我用slush搭建它并且它在templates文件夹中时。 我的猜测是reg表达式没有被正确解释
感谢您的帮助! 纳温
答案 0 :(得分:8)
当您使用Slush生成时,您的代码会被更改(最小化或者您要求它执行的任何操作),但文字模板不会。因此,在运行时,变量match
不再被声明,但在评估type
的文字值时仍然可以访问它。并且引发了错误。
当您不使用Slush生成时,您的代码将保持不变并且有效。
要避免此问题,请更改为:
let match = /\.(\w+)$/.exec(filename);
let type = match ? 'image/'+match[1] : 'image';