首页 > 代码库 > nodejs 批量编译less 文件为css
nodejs 批量编译less 文件为css
http://www.html-js.com/article/1359
我们在用less时,有时会有很多less块,一个一个手动编译很麻烦,使用下面的代码,可以一次性递归编译 在项目less文件目录,新建个js文件。粘贴代码如下
var fs = require(‘fs‘),path = require(‘path‘),exec = require(‘child_process‘).exec,sourcePath, targetPath; //获取命令行中的路径process.argv.forEach(function (val, index, array) {if (index == 2) { sourcePath = val;}if (index == 3) { targetPath = val;}})var lessc = function (rootPath, targetPath) {//取得当前绝对路径rootPath = path.resolve(rootPath);//目标路径绝对路径targetPath = path.resolve(targetPath);//判断目录是否存在fs.exists(rootPath, function (exists) { //路径存在 if (exists) { //获取当前路径下的所有文件和路径名 var childArray = fs.readdirSync(rootPath); if (childArray.length) { for (var i = 0; i < childArray.length; i++) { var currentFilePath = path.resolve(rootPath, childArray[i]); var currentTargetPath = path.resolve(targetPath, childArray[i]) //读取文件信息 var stats = fs.statSync(currentFilePath); //若是目录则递归调用 if (stats.isDirectory()) { lessc(currentFilePath, currentTargetPath); } else { //判断文件是否为less文件 if (path.extname(currentFilePath) === ".less") { var newFilePath = path.resolve(targetPath, path.basename(currentFilePath, ‘.less‘) + ".css"); if (!fs.existsSync(targetPath)) { fs.mkdirSync(targetPath); } console.log(newFilePath); exec("lessc -x " + currentFilePath + " > " + newFilePath); } } } } } else { console.log("directory is not exists"); } });}lessc(‘./‘, ‘./css/‘);
然后运行node
node 新建的js文件
nodejs 批量编译less 文件为css
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。