python - 如何使用 Transcrypt 在 Python 中导入 js 模块
问题描述
我有一个非常 Python-ic 的脚本,可以用 Transcrypt 编译,但问题是我拥有的一个外部依赖项是我需要 import google-cloud-bigquery
. 这显然会在转译过程中引发错误,但似乎该 API 在 JavaScript 中可用(这是我的目标编译), <script src="https://apis.google.com/js/client.js">
但 Transcrypt 转译了我的 index.py 文件,我不能只将此 JS 脚本放在 Python 中文件(我知道),那么我该如何实现呢?
我知道其他模块,例如 Numscrypt,可通过 Transcrypt 获得,但您如何在 Python 文件中实际添加模块?
解决方案
您将需要使用库的 JavaScript 版本,并且<script>
如前所述将导入放在 HTML 文件的标记中是最简单的方法。由于此时该库将位于全局命名空间中,因此您可以从 Python 程序中的任何位置调用它。
如果您使用 Parcel 或 Webpack 之类的打包工具并使用 npm 在本地存储库,则可以使用 Node.jsrequire()
函数并将其分配给 Python 变量,例如:
fabric = require('fabric')
否则,如果您需要从托管位置加载 JS 库并希望在 Python 中执行此操作,您可以使用 JavaScript 使用 Transcrypt pragma 编译器指令来执行此操作,如Transcrypt 文档中所述:
fabric = __pragma__ ('js',
'''
(function () {{
var exports = {{}};
{} // Puts fabric in exports and in global window
delete window.fabric;
return exports;
}}) () .fabric;
''',
__include__ ('com/fabricjs/fabric_downloaded.js')
)
推荐阅读
- flutter - 没有内容在其下滚动时如何禁用AppBar阴影
- c# - Messenger 上的 Bot Framework:从页面收件箱请求线程控制不起作用
- spring-mvc - 如何在 Spring Boot 中使用构造函数依赖项注册 HandlerInterceptor
- d - 如何解决本地数组上清除的模棱两可的模板重载?
- html - 额外的选项导致按钮上下移动
- python - 为什么这个 codewars 算法不能只使用函数?
- sharepoint - PNP-JS 从文件库模板创建文件
- sql - SQL 拆分列并更新备用表
- c++ - 读取二维数组 C++ 时访问冲突
- python - chr和编码问题的麻烦