2013-05-20 51 views
4

在我LESS CSS文件,我定义了一个基本网址:PHP传递变量LESS CSS或识别当前环境LESS

@base-url: 'http://cdn.domain.com'; 

我现在需要动态切换基本URL取决于什么样的环境我我在。例如:

DEV: 'http://domain.com' 
PROD: 'http://cdn.domain.com' 

有没有一种方法可以直接通过LESS进行检查,或者有没有办法将这个变量从PHP传递到LESS?

+1

你应该编译并以同样的方式涅槃你的LESS文件进行生产你会使用不同的'.ini'文件进行制作。 – zzzzBov

+0

我想我可以在部署PHP中简单地查找/替换以设置正确的环境基准URL。 –

+1

这完全不代表我的意思。当你为不同的环境设置你的项目时,你会想为每个环境使用不同的'.ini'文件。为了少编译,你需要为每个环境设置一个不同的'variables.less'文件,这样你就可以在每个不同的环境中运行一个构建并为每个环境获取适当的输出。 – zzzzBov

回答

7

您可以创建两个文件,一个是发展,一个用于生产,并编译无论你需要:

/* Production: production.less */ 
@base-url: 'http://cdn.domain.com'; 
@import "main.less" 

/* Development: dev.less */ 
@base-url: 'http://dev.domain.com/files'; 
@import "main.less"; 
+0

是的,这是我要做的。谢谢! –

1

这里是一个解析php变量为少文件的方法。

http://leafo.net/lessphp/docs/#setting_variables_from_php

+0

谢谢,但我没有使用lessphp –

+0

那么为什么不使用?如果你想发送一个更少的php变量,就是这样做 –

+1

我不想为这个功能集成一个不同的编译器。 @ zzzzBov的方法在我的情况下看起来更好。 –