Django + Snowpack = djsnowpack
项目描述
Snowpack是迄今为止受益于npm和前端代码中的导入最快、最简单的方式,而不必使用全SPA。
这个功能做什么
超级快速的前端开发!
荣获2020年生产力增强器OS奖,Snowpack是一个启动时间为50ms的前端构建工具,这通常在典型的Webpack项目中需要30秒。它如此之快,我感觉速度提高了300,000%(从30秒到不到1秒)。
更改您的CSS或JS,您的Django页面将重新加载!
更改前端文件通常不会导致Django视图重新加载,因为Django默认不提供JS:djsnowpack为解决这个问题提供了一个解决方案。
演示
# go and make a virtualenv in /tmp
cd /tmp
virtualenv /tmp/djsnowpack_demo
source /tmp/djsnowpack_demo/bin/activate
# clone and install the app and example project
git clone https://yourlabs.io/oss/djsnowpack
cd djsnowpack
pip install .
# install example project dependencies and start server
cd djsnowpack_example
pip install django
yarn install
./manage.py runserver
Django演示页面的左上角的绿色标题应该显示“djsnowpack运行正常 !!!”,因为这就是djsnowpack_example/index.js的样子,尝试更改index.js,看看浏览器在瞬间更新!
入门
安装: pip install djsnowpack,
添加到 settings.MIDDLEWARE: djsnowpack.Middleware,
添加到 settings.STATICFILES_DIRS: os.path.join(BASE_DIR, 'build').
这允许您在 settings.BASE_DIR 内部拥有一个Snowpack前端项目。
您应该在 djsnowpack_example 目录中看到一个最小示例
package.json:从一个 模板项目 中获取,最小的一个对于开始而不需要任何特定框架或库来说是很好的
index.html:snowpack需要它来工作,所以你只需将其放置一次,然后忘记它即可
index.js:这是snowpack将要提供服务的入口点
index.css:同上,可选,用于样式,Sass与snowpack也配合得很好
危险:你必须在index.html中添加以下内容,以使Django视图在JS更改时重新加载
if (import.meta.hot) {
import.meta.hot.accept(({ module }) => {
import.meta.hot.invalidate();
});
}
index.html内容
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" type="text/css" href="/index.css" />
</head>
<body>
<script type="module" src="/index.js"></script>
</body>
</html>
项目详情
djsnowpack-0.1.3.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f93ea88cd0d73defd3b24022b4c1d7a15682cee35f6b05fda82bdaef5e35fea4 |
|
MD5 | 94d1d5fa49f414dbf33f4d5f70661280 |
|
BLAKE2b-256 | 638868eeb84e2ce7169f81857071b9b0b1b507d70842612acacfa455efcb61c8 |