我使用 JScript 在现代 React(节点)项目、传统经典 ASP 项目和老化的 Web 表单项目之间进行互操作。Classic ASP 在服务器上使用 JScript 的能力非常有用。我能够在 Classic ASP、Web 表单和节点(反应)项目之间集中所有设置(api、连接字符串、应用程序设置等)。一旦他们都阅读了相同的设置,我就删除了他们各自的 web.config 设置
Babel 有一个JScript 转换,可让您将代码转换为 JScript 的附加级别(我为 Classic ASP 捆绑包转换了 ES2016 -> ES5 -> JScript)。
include/config.js(babel 生成的设置)
var config = {
"cdnBaseUrl": "https://api.example.com",
"apis": { ... },
...
}
包含/Config.asp
' Import the global JSON object from crockford to parse JSON in VBScript server-side
<script language="JScript" runat="server" src="json2.js"></script>
' Import global config object that can be called from JScript and VBScript interchangeably
<script language="JScript" runat="server" src="config.js"></script>
<script language="JScript" runat="server">
/** DEFINE GLOBAL FUNCTIONS THAT CAN INTEROP WITH VBSCRIPT HERE */
function requireScript(path) {
var resourceUrl = config.cdnBaseUrl + path
return ('<sc' + 'ript src="' + resourceUrl + '"></sc' + 'ript>')
}
....
</script>
包含/AppHead.asp
<!-- Include the settings and global helpers -->
<!--#include virtual="/include/Config.asp"-->
<!-- Build script tags in head that point to the correct CDN base url -->
<%=requireScript("/assets/react-client.js")%>
为所有设置编写适配器将是一种折磨(用 VBScript 解析 XML/JSON 很糟糕)。