以Python方式使用web资源,像导入Python模块一样导入JavaScript模块。
whatchamacallit的Python项目详细描述
什么卡马卡利特
以Python方式使用web资源,像导入Python模块一样导入JavaScript模块。 指定Javascript模块、HTML、CSS为裸url并动态重写。在
示例
(A)安装所需的包,在本例中gridchen
pip install gridchen
(B)从HTML/JavaScript
^{pr2}$(C)注册您的FastAPI应用程序(另请参阅模块whatchamacallit.examples.fastapi_服务器年)
fromfastapiimportFastAPIfromwhatchamacallit.fastapiimportregisterapp=FastAPI()register(app)
或烧瓶app(另见模块whatchamacallit.examples.flask_服务器.py)
importflaskfromwhatchamacallit.flaskimportregister# Important: Do not use the evil static_url_pathapp=flask.Flask(__name__,static_folder=None)register(app)
工作
例如,import * as utils from "gridchen/utils.js"
必须映射到其物理位置
/C/projects/myproject/venv/Lib/site-packages/gridchen/utils.js
。
这分两步完成。在
重新映射裸导入说明符
import * as utils from "gridchen/utils.js"
是不是有效的JavaScript。所以在HTML/JavaScript加载时
导入已重新映射到import * as utils from "/@gridchen/utils.js"
将资源路由到Python模块
当服务器现在收到/@gridchen/utils.js
的请求时,它将解析为包gridchen
并为其资源utils.js
提供服务。在
贡献
包装
vi pyproject.toml git add pyproject.toml git commit -m'bumped version' git tag x.y.z poetry build ## Publishing````shell script poetry publish
以前的工作
集束器
在Unpkg.com网站,汇总,网页包,巴贝尔,鼠兔,assetgraph,Browserify,gulp,JSPM
就地处理程序
参考文献
- http://dplatz.de/blog/2019/es6-bare-imports.html
- https://jakearchibald.com/2017/es-modules-in-browsers/
- https://medium.com/@dmnsgn/in-2020-go-bundler-free-eb29c1f05fc9
- https://wicg.github.io/import-maps/
- https://medium.com/@dmnsgn/es-modules-in-the-browser-almost-now-3638ffafdc68
- https://github.com/fanstatic/fanstatic
- PyPI starting with js.上的包
- 项目
标签: