跳到主要内容

为 Less.js 做贡献

感谢你考虑贡献!请仔细阅读贡献说明,以避免浪费工作。

安装这些工具

确保路径设置正确。如果你启动你喜欢的命令行并键入 node -v,你应该看到 node 编译器。如果你运行 phantomjs -v,你应该看到 phantomjs 版本号。

  • 克隆你的 less.js 存储库到本地
  • 导航到你的本地 less.js 存储库并运行 npm install,这将安装 less 的 npm 依赖项。

用法

Grunt 用于运行开发命令,如测试、构建和基准测试。如果你全局安装了 grunt-cli,则可以使用 grunt [command_name] 运行它们,或者使用 npm run grunt -- [command_name]

如果你转到 Less 存储库的根目录,你应该能够运行 npm testnpm run grunt -- test 的便捷别名)- 这应该运行所有测试。仅针对浏览器特定的测试,请运行 npm run grunt -- browsertest。如果你想尝试使用当前版本的 less 对文件进行编译,请从此处运行 node bin/lessc path/to/file.less

要调试浏览器测试,请运行 npm run grunt -- browsertest-server,然后转到 http://localhost:8088/tmp/browser/ 查看测试运行器页面。

可选:要获取当前版本的 Less 编译器,请运行 npm -g install less - npm 是 node 包管理器,"-g" 将其安装为全局可用。

现在,你应该能够运行 lessc file.less,如果有适当的 file.less,则它将被编译并输出到 stdout。然后,你可以将其与本地运行进行比较(node bin/lessc file.less)。

其它 grunt 命令

  • npm run grunt -- benchmark - 运行我们的基准测试,以获得一些性能数字
  • npm run grunt -- stable - 创建一个新的发布版本
  • npm run grunt -- readme - 在根目录中生成一个新的 readme.md(每个发布版本后)

如何在其它环境中运行 Less

如果你查看 libs 文件夹,你将看到 lessless-nodeless-browserless 文件夹是纯 JavaScript,没有特定的环境。如果你需要 less/libs/less,你将获得一个接受环境对象和文件管理器数组的函数。文件管理器是也可以编写为插件的相同文件管理器。

var createLess = require("less/libs/less"),
myLess = createL```

```ess(environment, [myFileManager]);

环境 API 在 less/libs/less/environment/environment-api.js 中指定, 文件管理器 API 在 less/libs/less/environment/file-manager-api.js 中指定。

对于文件管理器,我们强烈建议将原型设置为新的 AbstractFileManager - 这样可以覆盖所需的内容,并允许我们实现新的函数而不破坏现有的文件管理器。有关文件管理器的示例,请参见 2 个节点实现、浏览器实现或 npm 导入插件实现。

指南

如果你查看 http://www.gliffy.com/go/publish/4784259,这是 less 工作原理的概述图。警告!它需要更新为 v2 更改。