金字塔,飞镖,setuptools

时间:2014-10-06 11:26:40

标签: python-3.x dart pyramid setuptools dart2js

我开始在Pyramid框架中开发python 3中的Web应用程序,我真的想使用Dart而不是js。但是,必须将dart编译为js才能在所有浏览器中运行。

我的问题:使用dart开发金字塔网络应用程序的良好工作流程是什么?我应该将Dart代码完全分开开发并将构建的产品复制到我的Pyramid项目中吗?或者我应该从一开始就把它全部放在一个开头,并以某种方式在包内管理它?金字塔(或多或少)强制使用setuptools / distutils,我不知道如何处理在setuptools / distutils上下文中编译dart代码。

或者是否有一个完全不同的工作流程,我不介意?

我在开始时是正确的,我对可能性非常开放。

感谢您提供任何答案/建议/帮助我。


注意:我正在使用PyCharm IDE专业版(即支持金字塔),因此非常感谢在PyCharm中运行良好的解决方案。

2 个答案:

答案 0 :(得分:0)

嗯,任何"编译"的典型工作流程。语言(CoffeScript,Less,browserify等)是你在每次进行更改时在控制台中运行一个命令,它将你的花哨语言编译成JS / CSS,或者你在控制台中运行一些东西来监视目录中的任何一个文件更改并在注意到更改后立即编译它们。

所以,基本上,你会在项目中有一个dart\目录和一个js\目录。 magic console命令将编译dart\目录中的所有内容,并将结果放入js\目录。然后,您将在Pyramid中注册静态视图

config.add_static_view(name='js', path='my_package:a/b/c/js')

并从模板中引用已编译的js文件:

request.static_url('my_package:js/my_compiled_javascript.js')

答案 1 :(得分:0)

要触发Dart资源的编辑,您可以使用"在发布之前"每个PyCharm Run / Debug配置的任务,如教程的屏幕截图所示。在那里你可以调用pub build并构建一个由金字塔应用程序拾取的输出目录。

开发过程中的另一个便利功能是重新加载。金字塔有一个重新加载变色龙/ jinja / mako模板的选项。它认为Dart Tools为开发人员提供了相同的功能。

祝你的项目好运。试试它是否适合你。