从VS2008 IDE预编译JavaScript

时间:2009-01-06 14:32:52

标签: javascript

在构建我的解决方案时,有没有办法预编译我的JS代码?在访问浏览器之前,我想了解常见问题。理想情况下,我会构建sln,如果有必要,可以从构建事件中获取插件或调用,以检查针对Java编译器的js代码。 非常感谢你提前!

5 个答案:

答案 0 :(得分:4)

尽管许多其他海报都说过,但在许多情况下(包括Firefox浏览器中的Mozilla Spidermonkey引擎)Javascript 实际上是 compiled into bytecodes,模糊地类似于(但与Java中使用的不兼容。您只是看不到编译器的输出,因为它永远不可用,只能用于Javascript字节码解释器。也不可能保存已编译的字节码以供重用(至少在Web浏览器上下文中;在Spidermonkey引擎的替代使用中,我认为可以将已编译的字节码保存在内存中以供重用,但不能以可以使用的形式保存据我所知,保存到磁盘以供将来使用)。

我使用了一个Javascript shell JSDB,它也使用了Spidermonkey引擎;当你加载一个文件时,它会在运行甚至一行代码之前抱怨语法错误。但这与Java的编译类型不同; Javascript是一种松散类型的语言,因此它不会像Java编译器那样捕获问题(例如抱怨太阳下的所有事情,它知道你做得不对)。

话虽如此,我会选择JSLint,因为它可能会抓住你的许多错误。

作为旁注,Rhino项目可让您compile Javascript into Java classes;我从来没有尝试过,但听起来很有趣。

答案 1 :(得分:2)

Javascript是一种解释型语言,直到运行时才编译。此外,javascript与Java几乎没有什么关系。 Netscape在Sun发布Java的同时发布了JavaScript,并且它们之间存在某种营销协议。否则,他们是无关的。

答案 2 :(得分:2)

我为滥用“编译”一词而道歉。我完全理解编译语言和解释语言之间的区别。我感兴趣的是在构建期间定期检查我的语法,因此标记了错别字,无效的方法调用等。我将研究Jason S为此推荐的内容。我也完全清楚JavaScript不是Java,但之前已经阅读过,您可以通过Java编译器运行JS代码进行语法检查。我希望能找到更好的与VS整合的东西 非常感谢大家理解我的请求的意图。

答案 3 :(得分:0)

Javascript未编译,与Java无关,但与某些共享语法无关,最好通过将应用程序加载到浏览器中进行测试。

有一些JS测试框架/工具可用,但我不能自己推荐任何这些。

答案 4 :(得分:0)

尝试JSLint.VS