8

假设我将较少的文件分成许多较少的文件以便于组织。这是我的存储库:

/reset.less
/variables.less
/mixins.less
/main.less
/styles.less 

styles.less 只是导入其他文件:

@import "reset.less";
@import "mixins.less";
@import "variables.less";
@import "main.less";

但是,当我在 main.less 中添加一些代码并使用在 variables.less 中定义的@line-color 时。它显示名称Error: variable @line-color is undefined,我无法编译它——我使用 PHPStorm 和较少的插件。

你能建议我吗?

4

2 回答 2

12

您必须将 variables.less 导入所有使用您的变量的文件。

编辑:

你只需要编译你的 style.less。你不能编译 main.less 因为它不知道 variables.less 但你不想要 main.CSS,对吗?
您应该获得正确的 style.css,这是(我猜)您需要的唯一 css 文件。

于 2013-08-10T08:09:10.263 回答
1

我可以通过在 PHPstorm 中执行以下操作来解决它:

  • 打开首选项...</li>
  • 在工具 > 文件观察器 > 更少(配置)
  • 勾选“仅跟踪根文件
  • 将“要刷新的输出路径”更改为../css/$FileNameWithoutExtension$.css(在前面添加“ ../css/ ” - 取决于您要将 css 文件写入的文件夹)
  • (此时您可能需要检查这是否已经完成了您喜欢的工作。如果没有,请继续下一步……)
  • 在其他设置 > LESS 配置文件 >(您的配置文件)(配置)
  • 定义“LESS 源目录”:(/Users/macuser/htdocs/MySite/sites/all/themes/mytheme/less取决于哪个文件夹包含 .less 文件)
  • 定义“按路径包含文件”:(/Users/macuser/htdocs/MySite/sites/all/themes/mytheme/less/style.less文件名取决于哪个 .less 文件编译其他 .less 文件)
  • 通过选择要写入(缩小的)CSS 文件的文件夹来添加“CSS 输出目录”
  • 如果需要,启用压缩 CSS 输出

注意:如果启用了压缩 CSS 输出,这意味着每次您右键单击一个.less文件并点击“编译为 CSS”时,代码都会被压缩。.less默认情况下,您对-file所做的每次修改都不会压缩输出。如果您确实想立即压缩 CSS,

  • 在终端中使用以下命令安装less-plugin-clean-css :sudo npm install -g less-plugin-clean-css
  • 接下来,转到 Tools > File Watchers > Less(配置),并将“Arguments”更改为--clean-css --no-color $FileName$(在前面添加“--clean-css”)。现在它会在你编码时自动编译你的 CSS。您将不再需要手动编译。
于 2016-01-07T14:04:58.560 回答