我正在尝试使用 slush 生成模板,我的代码库在这里: https://github.com/NaveenDK/slush-template-generator/blob/master/templates/react-native-app/MediaButtons.js
即使模板文件本身运行良好,当我尝试使用 slush 生成 MediaButtons.js 文件中的以下行时
let match = /\.(\w+)$/.exec(filename);
let type = match ? `image/${match[1]}` : `image`;
当我用 slush 搭建它的脚手架并且它位于模板文件夹中时,我收到一条错误消息,提示未定义“匹配”。 我的猜测是 reg 表达式没有被正确解释
感谢您的帮助! 纳文
最佳答案
当您使用 Slush 生成时,您的代码已更改(最小化或您要求它执行的任何操作)但文字模板没有。因此在运行时,变量 match
不再声明,但您仍然可以在评估 type
的字面值时访问它。并引发错误。
当您不使用 Slush 生成时,您的代码将保持不变并且可以工作。
为避免此问题,请更改为:
let match = /\.(\w+)$/.exec(filename);
let type = match ? 'image/'+match[1] : 'image';
关于javascript - 带有正则表达式的变量在js中无法识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48236314/