跳转到主要内容

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,看看浏览器在瞬间更新!

入门

  1. 安装: pip install djsnowpack,

  2. 添加到 settings.MIDDLEWARE: djsnowpack.Middleware,

  3. 添加到 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 (6.2 kB 查看哈希值)

上传时间

由以下提供支持