在 js 中无法识别具有 reg 表达式的变量



我正在尝试使用 slush 生成模板,我的代码存储库在这里:https://github.com/NaveenDK/slush-template-generator/blob/master/templates/react-native-app/MediaButtons.js

即使模板文件本身运行良好,当我尝试使用 MediaButtons 文件中的以下行生成 slush 时.js

 let match = /.(w+)$/.exec(filename);
    let type = match ? `image/${match[1]}` : `image`;

我收到一个错误,说"匹配"未定义,当我用雪泥搭建它时,当它在模板文件夹中时。我的猜测是 reg 表达式没有正确解释

感谢您的任何帮助!纳文

当你使用 Slush 生成时,你的代码会改变(最小化或你要求它做的任何事(,但文字模板不会。因此,在运行时,变量match不再声明,但您仍然可以在评估type的文字值时访问它。并引发错误。

当您不使用 Slush 生成时,您的代码将保持不变并正常工作。

若要避免此问题,请更改为以下内容:

let match = /.(w+)$/.exec(filename);
let type = match ? 'image/'+match[1] : 'image';

最新更新