我有一个新的virtualenv环境,并有最新的django-pipleline.
使用Closure的JS压缩工作非常完美,但由于节点错误,使用Yuglify的CSS压缩失败:
STATICFILES_STORAGE = 'pipeline.storage.PipelineCachedStorage'
PIPELINE_JS_COMPRESSOR = 'pipeline.compressors.closure.ClosureCompressor'
PIPELINE_CSS_COMPRESSOR = 'pipeline.compressors.yuglify.YuglifyCompressor'
Run Code Online (Sandbox Code Playgroud)
当我尝试收集静态时:
./manage.py collectstatic
Run Code Online (Sandbox Code Playgroud)
它说:
pipeline.compressors.CompressorError: /usr/bin/env: node: No such file or directory
Run Code Online (Sandbox Code Playgroud)
但我已经明确安装yuglify,即使是全球:
sudo npm -g install yuglify
/usr/local/bin/yuglify -> /usr/local/lib/node_modules/yuglify/bin/yuglify
yuglify@0.1.2 /usr/local/lib/node_modules/yuglify
??? uglify-js@1.3.4
??? ycssmin@1.0.1
??? nopt@2.1.1
Run Code Online (Sandbox Code Playgroud)
尝试在设置中设置biney也无济于事:
PIPELINE_YUGLIFY_BINARY = '/usr/local/bin/yuglify'
Run Code Online (Sandbox Code Playgroud)
我仍然得到同样的错误.为什么现在这样的问题与npm?还有什么我需要另外设置的吗?
或者有没有办法用pip安装yuglify?
非常感谢,
我正在使用django-pipeline来缩小我的CSS.一切都正确缩小,直到我使用PipelineCachedStorage,这样我就可以得到版本化的缓存破坏文件名.我收到以下错误:
ValueError: The file 'img/glyphicons-halflings.png' could not be found with <pipeline.storage.PipelineCachedStorage object at 0x19069d0>
Run Code Online (Sandbox Code Playgroud)
我已经在我的项目中找到了所有文件并且发现这个PNG在bootstrap.css中,但是我没有将该文件包括在内.这是我的django-pipeline特定设置:
PIPELINE_CSS = {
'ab': {
'source_filenames': (
'main.css',
'segment-animation.css',
),
'output_filename' : 'ab.css',
}
}
PIPELINE_YUGLIFY_BINARY = '/home/redacted/ts/redacted/node_modules/yuglify/bin/yuglify'
STATICFILES_STORAGE = 'pipeline.storage.PipelineCachedStorage'
Run Code Online (Sandbox Code Playgroud)
提前致谢!
编辑:
管道的新设置:
PIPELINE_COMPILERS = (
'pipeline.compilers.less.LessCompiler',
)
PIPELINE_CSS = {
'ab': {
'source_filenames': (
'bootstrap-less/bootstrap.less',
'main.css',
'segment-animation.css',
),
'output_filename' : 'ab.css',
}
}
PIPELINE_YUGLIFY_BINARY = '/home/redacted/ts/redacted/node_modules/yuglify/bin/yuglify'
STATICFILES_STORAGE = 'pipeline.storage.PipelineCachedStorage'
Run Code Online (Sandbox Code Playgroud)