如何在我的节点项目(本地)中包含较less的引导版本?
我正在尝试学习一些关于节点的知识。 我已经成功地build立了一个节点的静态web服务器,我想要引导去。 我只想用我的节点项目。
我想我应该这样做,但不知道有没有更好的办法?
1)下载所有.less引导文件并将其安装到我的/ css文件夹中2)使用grunt编译我所有的.css文件,然后链接到css文件。
我有两个问题
1)这个过程会工作吗? 2)有没有更好的工作方式,如果这不起作用?
我会用Grunt
来做这个,而且我认为它会工作得很好。 我还没有遇到更自动化的运行任务的方式,并使用Grunt
在几个存储库(即https://github.com/dreamyguy )。 人们也可以使用Gulp
,但Grunt
在写作的时候更加成熟。
你将不得不安装Grunt
,安装grunt-contrib-less和grunt-contrib-watch来观察你的文件。 你的Gruntfile.js
看起来像这样:
module.exports = function(grunt) { // Main project configuration grunt.initConfig({ // Read NPM package information pkg: grunt.file.readJSON("package.json"), // Compile CSS files from LESS less: { dev: { options: { paths: ["src/css"] }, files: { // destination // source "src/css/result1.css": "app/less/source1.less", "src/css/result2.css": "app/less/source2.less", "src/css/result3.css": "app/less/source3.less" } }, dist: { options: { paths: ["src/css"], cleancss: true, modifyVars: { imgPath: "'http://mycdn.com/path/to/images'", bgColor: "red" } }, files: { "src/css/result1.css": "app/less/source1.less", "src/css/result2.css": "app/less/source2.less" } } } // Watcher watch: { css: { files: "app/less/**/*.less", tasks: ["less:dev"] } } }); // Load the grunt tasks grunt.loadNpmTasks("grunt-contrib-less"); grunt.loadNpmTasks("grunt-contrib-watch"); // Compile production files grunt.registerTask("dist", [ "less:dist" ]); // Compile developer friendly environment grunt.registerTask("dev", [ "less:dev" ]); // Default task(s). grunt.registerTask("default", "dist"); };
你当然必须修改上述以反映你的path。
你可以在任何地方使用通配符,就像我在app/less/**/*.less
。 此示例将扫描文件夹/less/
下所有带有.less
扩展名的文件及其所有子文件夹。 只要注意,如果将通配符包含在less
或sass
这样的任务中,则文件将按字母顺序编译,而您仍然需要定义目标文件,如下所示:
// Compile CSS files from LESS less: { dev: { options: { paths: ["src/css"] }, files: { // several sources can be compiled into one destination, if one creates an array with the sources "src/css/result1.css": [ "app/less/lib/**/*.less", "app/less/source1.less", "app/less/source3.less", "app/less/source7.less" ], // all files under 'bootstrap' folder and subfolders are compiled into one file "src/css/bootstrap.css": "app/less/bootstrap/**/*.less" } }, dist: { options: { paths: ["src/css"], cleancss: true, modifyVars: { imgPath: "'http://mycdn.com/path/to/images'", bgColor: "red" } }, files: { "src/css/result1.css": "app/less/source1.less", "src/css/result2.css": "app/less/source2.less" } } }
在此任务中使用通配符时要小心,因为CSS
的级联效应可能会产生不需要的覆盖。