vuex { }能执行吗

vuex { }能执行吗
在函数内,突然出现一个大括号,这是种什么写法,为什么要用大括号

刚才看了,所有的assert都加了大括号,这是为啥,有什么作用

----------------------------找到答案了
vuex { }能执行吗


回答:

我的猜测,不对勿喷。

这里有没有{}没有是一样的(如果你不纠结let, const这样的块作用域变量的问题的话)。

一般这种情况的出现,可能是使用了一些面向多场景的构建方式,比如上述代码的源码可能是这样的:
if (process.env.mode !== 'prod') {
assert(Vue, 'xxxxxxxx');
}
在构建过程中,上面的代码会被一些类似babel插件针对不同场景的进行改造,

如面向生产环境的构建产出代码prod.js,为了增加干净度和减少代码量,直接整个if语句都会被删除。

非生产环境的构建产出代码dev.js时候,需要输出里面的校验代码,多一些安全性检验。此时代码需要保留,但if条件语句中的process是大概率不能使用的(属于node api,浏览器中没有特殊处理不能运行),需要删除。且为了能够维持代码的稳定,避免跟外部作用域冲突,上面的代码就会被转为:
{
assert(Vue, 'xxxxxxxx');
}

以上是 vuex { }能执行吗 的全部内容, 来源链接: utcz.com/p/937432.html

回到顶部