如何让ScriptEngine运行多个javascript文件?
我有 6 个 js 文件,我需要将它们全部包含到最终脚本中以传递 ScriptEngine 的 eval 方法。我该怎么做? ScriptEngine 没有 add() 方法。我可以使用 FileReader 读取它们,然后连接这些字符串,但我认为会有更好的方法。
I have 6 js files and I need to include them all into final script to pass ScriptEngine's eval method.How can I do it? ScriptEngine haven't add() method.I can read them with FileReader and than concatenate those strings but I think there will be a better way.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用重载
eval(Reader)
以避免自己将脚本加载到String
中。You can use the overload
eval(Reader)
to avoid having to load scripts into aString
yourself.您可以使用一个脚本来调用其他 6 个脚本。
示例:
不能 100% 确定该解决方案的效果如何,但它会调用所有其他 6 个函数。
You could use one script to call the other 6 scripts.
Example:
Not 100% sure how good that solution will work but it will call all other 6 functions.
使用相同的 ScriptContext 多次运行 eval。
在下一个示例中,我需要在运行 MainScript.js 之前运行 Utils.js 脚本,因为 Utils.js 正在定义 MainScript.js 中我需要的一些函数,我始终认为此顺序是这些脚本在 HTML 页面中出现的方式我要在浏览器中执行此操作:
Run eval multiple times using the same ScriptContext.
In the next example I need to run Utils.js script before running MainScript.js because Utils.js is defining some functions I need in MainScript.js, I always think of this order as the way these scripts will appear in an HTML page of I were to execute this in a browser: