为 Less.js 做贡献
感谢你考虑贡献!请仔细阅读贡献说明,以避免浪费工作。
安装这些工具
- node - http://nodejs.org/
- phantomjs - http://phantomjs.org/download.html
确保路径设置正确。如果你启动你喜欢的命令行并键入 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 test
(npm 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 文件夹,你将看到 less
、less-node
、less-browser
。less
文件夹是纯 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 更改。