var a;
{
function a() {}
a = 60;
console.log('1: ', a);
}
console.log('2: ', a);
var b;
{
b = 60;
function b() {}
console.log('3: ', b);
}
console.log('4: ', b);Run Code Online (Sandbox Code Playgroud)
输出为:
1: 60
2: f a() {}
3: 60
4: 60
Run Code Online (Sandbox Code Playgroud)
我不知道为什么,如果除去花括号,它全部打印出来60。也许是因为吊装。但是据我所知,函数声明没有词法范围,即使有,它的第一个输出也应该打印函数,对吗?
编辑:我通过使用电子生成器解决了这个问题,它在引擎盖下使用了 webpack,因此默认情况下所有问题都得到了很好的处理。我在最初使用电子锻造和电子封装时发布了这个问题,虽然我搜索了几个资源,但我仍然无法理解电子锻造/电子封装/电子构建器之间的区别
原问题:
我使用 react 和 typescript 构建了一个带有电子伪造的电子应用程序,但我发现它在发行版中包含我的整个打字稿源代码。
一探究竟,似乎没有办法摆脱源头,甚至asar可以轻松提取。缩小源代码可能是防止其他人复制和粘贴我的项目的最“正确”方式。我想可能我可以通过使用afterCopy电子包装器提供的钩子来实现这一点,但不知道我应该怎么做,有什么建议吗?