使用 jquery 静态/编译时检查 javascript?
我知道如果满足某些条件,JavaScript(或至少它的一个版本)可以编译成.NET。我如何对我正在编写的 javascript 进行编译时或静态语法检查?问题是,它必须支持 jquery
因为有人会问,编译(使用 ms .net)是
C:\Windows\Microsoft.NET\Framework\v2.0.50727\jsc thefile.js
在必要的地方编写 package thenamespace { class ClassName{ 。然后您可以将其添加为正常参考。根据经验,参考并不总是与单声道兼容。
I know javascript (or at least a version of it) can be compiled into .NET provided certain conditions are met. How can i do a compile time or static syntax check on javascript i am writing? The catch is, it must support jquery
Cause someone will ask, to compile (with ms .net) is
C:\Windows\Microsoft.NET\Framework\v2.0.50727\jsc thefile.js
writing package thenamespace { class ClassName{ around where necessary. Then you can add this as a normal reference. From experience the references are not always compatible with mono.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我不确定是否有任何静态分析器可以深入检查 jQuery 代码的有效性,但是对于 Javascript 语法本身,有非 Web 版本的 Javascript Lint 和 JSLint 您可以使用。
如果您使用的是 Visual Studio,您还可以尝试 JSLint.VS 以获得更好的集成。
更新:自从我写这篇文章以来,JSHint 和 ESLint 已成为 JSLint 家族中最受欢迎的成员。
此外,TypeScript 越来越受欢迎。它是 JavaScript 的超集,具有可选的静态类型,可编译为纯 JavaScript。 (对于那些使用过 Python 的 MyPy 的人来说,这是类似的。有效的 JavaScript 是 也是有效的 TypeScript,但您可以增量添加类型注释,编译器将使用它们来捕获错误。)
I'm not sure if there are any static analyzers which can check the validity of jQuery code in depth, but for the Javascript syntax itself, there are non-web versions of Javascript Lint and JSLint you could use.
If you're using Visual Studio, you could also give JSLint.VS a try for better integration.
UPDATE: Since I wrote this, JSHint and ESLint have taken over as the most popular members of the JSLint family.
Also, TypeScript is gaining popularity. It's a superset of JavaScript with optional static types which compiles to plain JavaScript. (For those who have used MyPy for Python, it's similar. Valid JavaScript is also valid TypeScript, but you can incrementally add type annotations and the compiler will use them to catch bugs.)