django的coffeescript和sass资产预编译程序
civet的Python项目详细描述
麝香猫[alt text](http://upload.wikimedia.org/wikipedia/commons/2/28/luwak-katze廑in廑kepahang.jpg"麝香猫")
(图片来源:[leendertz](http://en.wikipedia.org/wiki/kopi廑u luwak廑mediaviewer/file:luwak-katze廑in廑kepahang.jpg))
麝香猫预编译资产文件(如sass、coffeescript和ec)当您使用"runserver"命令时,
django项目中的mascript 6)。它还将为您监视
文件的更改。因此,您可以编辑资产文件,并期望runserver在保存时重新编译这些文件,就像更改python源代码时如何重新启动应用服务器一样,在"settings.py"中,将civet添加到"installed"应用程序集ing.
在django 1.6及其之前,将其添加到
`django.contrib.staticfiles'之后。在django 1.7及更高版本中,在django 1.7及更高版本中,在"django.contib.contrib.staticfiles"之前添加
:
``python
installed应用程序(
"civet",取消django 1.7及更高版本的"django.contrib.contrib.staticfiles",取消django 1.7及更高版本的django.contrib.contrib.staticfiles,
"civet",取消django 1.6及更高版本的django 1.6及更早版本的
<
比尔/>)
```
例如:
civet_precompiled_asset_dir=os.path.join(base_dir,"precompiled_asset s")
一旦设置好,每次使用"manage.py runserver",civet将首先检查是否有新的sass和coffeescript文件需要预编译。它还将开始监视文件的更改。
仅使用sass(或coffeescript)"
--------
您可以通过设置选择civet使用(并添加自己的)哪些编译器:
``python
civet_compiler_classes=(
civet.compilers.es6.es6 compiler,
)
`````
离子
---------
如果您想使用特定的路径,可以将它们放入
您的"settings.py":
有人使用[bundler](http://bundler.io/)来管理他们的ruby命令行工具。如果您还使用compass之类的libaries并希望锁定它们的版本,这一点尤其有用。bundler要求您设置一个"gemfile"。要使用bundler运行sass,请在
`settings.py`:
civet_bundle_gemfile='/some/where/gemfile'
中添加此选项。请注意,不能同时设置"civet_bundle_gemfile"和"civet_sass_bin"。如果两者都设置好了,则civet将引发错误。此外,默认情况下,civet会在"path"中查找工具"bundle"。如果要使用特定路径,请在"settings.py"中设置"civet_bundle_bin"。
最后,如果要使用其他coffeescript或sass编译选项,请将这些添加到"settings.py"中。下面是civet使用的默认值:
civet_coffee_script_arguments=('--compile','--map')
civet_sass_arguments=()
(文件或目录)对于通过
设置忽略的果子狸:
伊布staticfiles.management.commands.collectStatic`.
irs.
civet_ignore_dirs=['bower_components','node_modules']
这在使用包管理器(如[bower](http://bower.io/)
或[npm](https://www.npmjs.com/)时特别有用。这些管理器通常安装的包中包含自己的生成系统、配置和文件,这些包与civet编译资产的方式不兼容。
对于es6,可以通过设置
`civet es6节点路径`来指定用于babel的节点路径。
---------
若要重新编译所有内容,请退出服务器,删除整个
"civet_asset_dir"目录,然后再次使用"runserver"命令
。
说明麝香猫如何与django合作。
动机
----
我们开发了麝香猫来解决以下问题:
1。要求所有开发人员记住每次使用runserver时都要使用coffee-w和sass-w,这太麻烦了。我们希望对coffeescript和sass资产进行预编译。当我们提供静态资产时,动态编译它们是没有意义的。另外,sass
包含大量include的文件可能需要很长时间才能处理。
有一次,我们有一个sass文件需要6秒才能编译。我们不希望我们的开发人员每次重新加载页面时都等待6秒。django的静态文件布局要求sass和coffeescript监视
单独的目录。我们不能让他们看顶级的
目录,然后一天就结束。但是,让
sass编译器监视多个目录是非常麻烦的,而且在coffeescript编译器中根本不存在用于
4的选项。我们有很多coffeescript文件,在os x上,这个数字超过了node.js(官方的coffeescript编译器所基于的)可以观看的默认最大文件数。(详见
[本期](https://github.com/joyent/node/issues/2479。)
rg/wiki/kopi_luwak)通过摄入咖啡
豆。我在寻找一个与
咖啡有关的冒失(时髦)的项目名称,我想到了这个。免责声明:我不知道kopi luwak
是什么味道,在开发这个插件的过程中,没有任何动物受到伤害。
(图片来源:[leendertz](http://en.wikipedia.org/wiki/kopi廑u luwak廑mediaviewer/file:luwak-katze廑in廑kepahang.jpg))
麝香猫预编译资产文件(如sass、coffeescript和ec)当您使用"runserver"命令时,
django项目中的mascript 6)。它还将为您监视
文件的更改。因此,您可以编辑资产文件,并期望runserver在保存时重新编译这些文件,就像更改python源代码时如何重新启动应用服务器一样,在"settings.py"中,将civet添加到"installed"应用程序集ing.
在django 1.6及其之前,将其添加到
`django.contrib.staticfiles'之后。在django 1.7及更高版本中,在django 1.7及更高版本中,在"django.contib.contrib.staticfiles"之前添加
:
``python
installed应用程序(
"civet",取消django 1.7及更高版本的"django.contrib.contrib.staticfiles",取消django 1.7及更高版本的django.contrib.contrib.staticfiles,
"civet",取消django 1.6及更高版本的django 1.6及更早版本的
<
比尔/>)
```
例如:
civet_precompiled_asset_dir=os.path.join(base_dir,"precompiled_asset s")
一旦设置好,每次使用"manage.py runserver",civet将首先检查是否有新的sass和coffeescript文件需要预编译。它还将开始监视文件的更改。
仅使用sass(或coffeescript)"
--------
您可以通过设置选择civet使用(并添加自己的)哪些编译器:
``python
civet_compiler_classes=(
civet.compilers.es6.es6 compiler,
)
`````
离子
---------
如果您想使用特定的路径,可以将它们放入
您的"settings.py":
有人使用[bundler](http://bundler.io/)来管理他们的ruby命令行工具。如果您还使用compass之类的libaries并希望锁定它们的版本,这一点尤其有用。bundler要求您设置一个"gemfile"。要使用bundler运行sass,请在
`settings.py`:
civet_bundle_gemfile='/some/where/gemfile'
中添加此选项。请注意,不能同时设置"civet_bundle_gemfile"和"civet_sass_bin"。如果两者都设置好了,则civet将引发错误。此外,默认情况下,civet会在"path"中查找工具"bundle"。如果要使用特定路径,请在"settings.py"中设置"civet_bundle_bin"。
最后,如果要使用其他coffeescript或sass编译选项,请将这些添加到"settings.py"中。下面是civet使用的默认值:
civet_coffee_script_arguments=('--compile','--map')
civet_sass_arguments=()
(文件或目录)对于通过
设置忽略的果子狸:
伊布staticfiles.management.commands.collectStatic`.
irs.
civet_ignore_dirs=['bower_components','node_modules']
这在使用包管理器(如[bower](http://bower.io/)
或[npm](https://www.npmjs.com/)时特别有用。这些管理器通常安装的包中包含自己的生成系统、配置和文件,这些包与civet编译资产的方式不兼容。
对于es6,可以通过设置
`civet es6节点路径`来指定用于babel的节点路径。
---------
若要重新编译所有内容,请退出服务器,删除整个
"civet_asset_dir"目录,然后再次使用"runserver"命令
。
说明麝香猫如何与django合作。
动机
----
我们开发了麝香猫来解决以下问题:
1。要求所有开发人员记住每次使用runserver时都要使用coffee-w和sass-w,这太麻烦了。我们希望对coffeescript和sass资产进行预编译。当我们提供静态资产时,动态编译它们是没有意义的。另外,sass
包含大量include的文件可能需要很长时间才能处理。
有一次,我们有一个sass文件需要6秒才能编译。我们不希望我们的开发人员每次重新加载页面时都等待6秒。django的静态文件布局要求sass和coffeescript监视
单独的目录。我们不能让他们看顶级的
目录,然后一天就结束。但是,让
sass编译器监视多个目录是非常麻烦的,而且在coffeescript编译器中根本不存在用于
4的选项。我们有很多coffeescript文件,在os x上,这个数字超过了node.js(官方的coffeescript编译器所基于的)可以观看的默认最大文件数。(详见
[本期](https://github.com/joyent/node/issues/2479。)
rg/wiki/kopi_luwak)通过摄入咖啡
豆。我在寻找一个与
咖啡有关的冒失(时髦)的项目名称,我想到了这个。免责声明:我不知道kopi luwak
是什么味道,在开发这个插件的过程中,没有任何动物受到伤害。