是否有任何TypeScript工具或分支支持公共名称空间模糊处理?即转:
class MyUtil {
print(): void { ... }
}
Run Code Online (Sandbox Code Playgroud)
变成这样的东西:
class xxy {
aab(): void { ... }
}
Run Code Online (Sandbox Code Playgroud)
如果没有,会直接分叉编译器来提供这个吗?也许用某种类的类注释指示应该/不应该混淆的内容.
(显然,必须谨慎使用公共混淆,对图书馆没有好处!但如果在整个项目中使用一致,那就太好了)
我正在Git中试验相当激进的auto gc,主要用于打包.在我的回购中,如果我这样做,git config --list我已经设置好了
...
gc.auto=250
gc.autopacklimit=30
...
Run Code Online (Sandbox Code Playgroud)
如果git count-objects -v我得到了
count: 376
size: 1251
in-pack: 2776
packs: 1
size-pack: 2697
prune-packable: 0
garbage: 0
Run Code Online (Sandbox Code Playgroud)
但是git gc --auto没有改变这些数字,没有任何东西被打包!不应该松散的物体被包装,因为我是超过gc.auto限制的126个物体?
是否有任何PowerShell Cmdlet用于与Git连接?特别是'git log'.所有这些正则表达式解析都是由包子麻木.也许微软最近对Git感兴趣,有人正在使用libgit2sharp进行这项工作吗?我知道posh-git,但我认为它不会添加任何cmdlet来将git信息作为对象返回.
是否有人在为ExtJS 5开发TypeScript定义?我一直在检查DefinitelyTyped,但没有活动:
https://github.com/borisyankov/DefinitelyTyped/tree/master/extjs
在VS2013更新2 RC(Typescript 1.0 RTM)中,我无法在我的一个项目中调试TypeScript文件.我已将其追溯到地图文件声明.默认情况下,我的JS文件包含:
//# sourceMappingURL=general.js.map
Run Code Online (Sandbox Code Playgroud)
哪个应该是正确的,映射文件与TS和JS文件位于同一文件夹中.但它不起作用.如果我手动编辑文件,指定完整路径,它的工作原理如下:
//# sourceMappingURL=C:/Users/myname/Documents/Visual Studio 2013/Projects/Test/JSLib/general.js.map
Run Code Online (Sandbox Code Playgroud)
这让我感到困惑,因为浏览器肯定不会理解完整路径,例如在IISExpress网站之外?
任何人都可以建议一种方法来获取使用第一个映射的地图文件?谢谢
Windows 8.1 x64,IE11
更新:通过IISExpress运行的应用程序使用Windows身份验证.如果我关闭地图文件加载!另外,检查输出窗口我看到:
SourceMap http://localhost:53524/JSLib/general.js.map read failed: The remote server returned an error: (401) Unauthorized.'iexplore.exe' (Script): Loaded 'http://localhost:53524/JSLib/'.
我的IIS Express日志包含
2014-04-12 13:58:24 ::1 GET /JSLib/general.js.map - 53524 - ::1 - - 401 2 5 0
但我可以http://localhost:53524/JSLib/general.js.map在IE 浏览器中浏览.那么是什么在调用地图文件(VS?)以及如何让它使用我的凭据?
我一直在使用StringComparer.CurrentCultureIgnoreCase不区分大小写的比较和散列。但是在检查参考源之后,我发现它每次调用都会创建一个新实例(那么它不应该是一个静态函数吗?只是为了形式)。无论如何,我的问题是,当您需要进行多次比较(例如IEquality<T>实现)时,这样做是否有效:
// 2 instances per call
return StringComparer.CurrentCultureIgnoreCase.Equals(this.a, other.a)
&& StringComparer.CurrentCultureIgnoreCase.Equals(this.b, other.b) .. etc ..
Run Code Online (Sandbox Code Playgroud)
或者可能:
public bool Equals(MyObj other)
{
// 1 instance per call
var equ = StringComparer.CurrentCultureIgnoreCase;
return equ.Equals(this.a, other.a)
&& equ.Equals(this.b, other.b) .. etc ..
}
Run Code Online (Sandbox Code Playgroud)
或者甚至缓存/池比较器,这样它们就不会在每次Equals()调用时创建?
// 1 instance per thread
[ThreadStatic]
private static StringComparer equ;
public bool Equals(MyObj other)
{
if (equ == null) equ = StringComparer.CurrentCultureIgnoreCase;
return equ.Equals(this.a, other.a)
&& equ.Equals(this.b, other.b) .. etc ..
}
Run Code Online (Sandbox Code Playgroud)
对最佳实践有何感受? …
任何人有一个良好的正则表达式匹配==和!=,但不是===也!==(我打算用它作为javascript代码简单的检查)?
我试过了,[^=]==[^=]但这在字符串的开头和结尾都失败了。
typescript ×3
.net ×2
git ×2
c# ×1
extjs ×1
map-files ×1
obfuscation ×1
powershell ×1
regex ×1