什么';如果你愿意的话,那么在Django中使用CoffeeScript是最好的方法;你在Windows上开发吗?
尽管开始在Django上使用Sass/Compass,而不考虑平台,但为了找到在Windows开发环境中使用CoffeeScript和Django的最佳方法,需要进行一些搜索。您可以使用 其中一些支持文件系统监视,如官方节点包。因此,您可以启动控制台并执行以下操作:什么';如果你愿意的话,那么在Django中使用CoffeeScript是最好的方法;你在Windows上开发吗?,windows,django,coffeescript,Windows,Django,Coffeescript,尽管开始在Django上使用Sass/Compass,而不考虑平台,但为了找到在Windows开发环境中使用CoffeeScript和Django的最佳方法,需要进行一些搜索。您可以使用 其中一些支持文件系统监视,如官方节点包。因此,您可以启动控制台并执行以下操作: coffee -c src/ -o /bin --watch src中的所有coffeescript文件在更改时将自动重新编译。您不需要与django进行任何特殊的集成,尽管这可能会很好。自从我发布了我的原始答案(出于历史目的,
coffee -c src/ -o /bin --watch
src中的所有coffeescript文件在更改时将自动重新编译。您不需要与django进行任何特殊的集成,尽管这可能会很好。自从我发布了我的原始答案(出于历史目的,我将保留该答案)以来,Windows上的节点支持有了很大的改进,因此现在更容易实现
节点
和npm
命令添加到Windows路径(可在cmd.exe中获得)npm安装-g咖啡脚本
。然后使用cmd.exe进行测试
coffee --version
CoffeeScript version 1.4.0 #sweet!
pip安装django压缩机
COMPRESS_PRECOMPILERS = (
('text/coffeescript', 'coffee --compile --stdio'),
)
coffee --version
CoffeeScript version 1.1.2 #sweet!
现在,您正在节点上使用真正的咖啡脚本程序COMPRESS_PRECOMPILERS = (
('text/coffeescript', 'coffee.bat --compile --stdio'),
)
我把它放在本地的_settings.py文件中。只需像往常一样在Linux生产服务器或开发框使用的设置文件中去掉.bat。没有球棒,Windows很不高兴这对我来说很有希望:我发现通过压缩器编译会增加太多的延迟。所以我改为在客户端编译,并检入js文件。即时,如果在运行runserver命令时开始查看文件,则非常方便: (Django>=1.5)支持CoffeeScript编译,以及加载其他内容(例如LESS、SASS、JS/CSS缩小等)。确保已安装CoffeeScript,然后安装pip-install-django管道,将“管道”添加到已安装的应用程序中,然后创建以下配置条目:
PIPELINE_COMPILERS = (
'pipeline.compilers.coffee.CoffeeScriptCompiler',
)
然后,您可以根据链接的文档设置要编译的文件-基本上就是源文件、目标文件和名称。您可以在如下模板中使用此名称引用压缩文件:
{% compressed_js 'my_compressed_js' %}
这种方法非常好,除了创建的javascript文件具有时间戳文件名,即使在未启用压缩时也是如此,这使得在调试器中设置断点非常困难。或者你有这个问题吗?这个答案很好,两次。你有没有关于两者结合使用的博客文章?当你可以使用django管道或django静态预编译器时,你为什么要经历这些呢?!当你说“所有这些”时,你可能会看到原始答案,这需要一点努力。答案现在基本上是——使用django压缩机。它对我有用。正如您所了解的,其他应用程序也会做类似的事情。有没有办法指定特定的文件?更具体地说,这(似乎)不适用于ModelAdmin的媒体类中指定的JS。也许我只是错过了一些东西。。。
COMPRESS_PRECOMPILERS = (
('text/coffeescript', 'coffee.bat --compile --stdio'),
)
PIPELINE_COMPILERS = (
'pipeline.compilers.coffee.CoffeeScriptCompiler',
)
{% compressed_js 'my_compressed_js' %}