Clojuredipt Integration for Django

django-cljs-loader的Python项目详细描述


Django项目中Clojurescript的透明集成。目前 支持LeiningenFigwheel,意思是你 在开发过程中可以依赖figwheel的自动刷新功能。

这个项目的灵感来自 django-webpack-loader 项目,其目标类似于透明地包含和使用 Django项目中的Webpack包。

与莱宁根的集成过于简单:信息是从 leiningenproject.clj文件,用于确定哪些输出包是 在哪里可用。这意味着有一个紧耦合到 莱宁根项目文件的结构-如果您 有一个真正异国情调的项目设置!

安装

$> pip install django-cljs-loader

用法

示例

此存储库包含一个示例应用程序,请查看 请参阅正在运行的工作设置。

一些更先进的例子正在路上!

设置

只支持莱宁根项目。使用project.clj文件 在项目的某个地方,您可以在 你的应用设置。

应该是这样的:

fromedn_format.edn_leximportKeywordBASE_DIR=...# should point to the project rootSTATIC_URL='/static/'CLJS_LOADER={# where to find the Leiningen project file'PROJECT_FILE':os.path.join(BASE_DIR,'project.clj'),# If True, tries to load JS files from the Figwheel dev server.# Set to False in production mode.'FIGWHEEL':True,# Which cljs build (defined in the project.clj file) to use.# Change this for production.'CLJS_BUILD':Keyword('dev'),# The root folder for assets built by Leiningen.# In development mode, this matches the Figwheel root.'ROOT':'assets/public',}# Add the folder where cljsbuild output lands as a source directory for the# staticfiles app. This assumes you are using the staticfiles app.STATICFILES_DIRS=(os.path.join(BASE_DIR,CLJS_LOADER['ROOT']),)

把clojurescript源文件放在哪里取决于您- assets/cljs是一种可能性。请参阅示例项目。

模板标签

使用render_bundletemplate标记钩住编译的 将clojurescript绑定到应用程序中。它将插入一个script 标记并调用在leiningen中定义的main函数 项目文件。

{% load render_bundle from cljs_loader %}
...
<body>
  ...
  {% render_bundle %}
</body>

发展

打开第二个终端并运行lein figwheel。或者,启动 一个repl和do(fig-start)。javascript包将从 FigWheel开发服务器。

产量

假设您有一个名为prod

的cljsbuild配置文件
$> lein cljsbuild once prod

lein cljsbuild生成的编译包可以是 用python manage.py collectstatic或 包括生产资产的首选方法是。

不需要更改render_bundle模板标记。

贡献

您可以使用以下命令运行tests文件夹中的测试套件 命令:

$> make test

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
无法在Netbeans 8.2 JDK8u231中创建java Maven项目(Web应用程序)   java如何以设定的时间间隔生成随机数?   java从socket和inputStream的慢速读取   spring SCORM:Java中基于Web的SCORM播放器   Java将函数传递给方法   java绑定通用服务及其实现和子类型   java如何在运行时从选择列表框中动态选择选项?爪哇硒   java Selenium WebDriver什么是“Selenium客户端和WebDriver语言绑定”   elasticsearch需要elasticsearch高级Java客户端更新ByQueryRequest API帮助   JAVA哈希表查找最大值   WSDL操作中的java soapAction属性为空   java访问封闭类或父类方法的一般方法   eclipse在java中运行带有SeleneTestCase的ANT。lang.NoClassDefFoundError   java Hazelcast不会在节点启动时填充ReplicatedMap   如何在Java中从excel中读取特定行?   html JAVA将本地时间(GMT+8)转换为UTC时间   java将自定义端点添加到Spring数据REST存储库中,并以大摇大摆的方式显示   java计算未来位置