问:我正在关注有关如何编写CSS预处理程序的博客文章。我对代码感到困惑,因为当我查看用于编写预处理器的第一个代码块和第二个代码块时,我无法确定第一个代码块是否被更改,或者第二个代码块仅位于第一个代码块之下。
第一个代码块
#!/ usr / bin / env节点
var fs = require ('fs' );
var source = process 。argv 。接头(2 )[ 0 ]; var target = source 。子串(0 ,源。lastIndexOf ('' ))+ ”的CSS ; fs 。readFile (source ,'utf-8' ,function (err ,data
) {
如果(错误)抛出错误; fs 。WriteFile的(目标,数据,功能(ERR ){如果(ERR )抛出犯错;控制台。登录('写' +目标+ '!' ); }); });
第二个代码块
#!/ usr / bin / env节点
var fs = require ('fs' );
var source = process 。argv 。接头(2 )[ 0 ]; var target = source 。子串(0 ,源。lastIndexOf ('' ))+ ”的CSS ; fs 。readFile (source ,'utf-8' ,function (err ,data
) {
如果(错误)抛出错误; var分析=函数(输入){返回输入。映射(函数(线){ VAR RPART =线。trimLeft ();返回{升:线。代替(RPART ,'' ),- [R :RPART }; }); }; 变种
变换 = 函数(线) {
VAR bracketFound =假; 回线。映射(函数(线){如果(线。升){返回线。升+线。ř + ';' ; }否则如果(线。ř ){ bracketFound =真;返回
线。r + '{' ;
} else if ((branchFound ){{ brainFound = false ; 返回'}' ; } }); }; var输出=变换(分析(数据。分割('\ n' )))。加入('\ n' ); fs 。writeFile (target ,output ,function (err ){
如果 (错误) 抛出 错误;
控制台。日志('写' +目标+ '!' ); }); });
有人可以帮我清理一下吗?
答:第一个更改为第二个,因为该行
#!/ usr / bin / env节点
是特殊行,指出脚本将与节点一起运行,并且必须是文件的第一行。这样,如果您在脚本上设置了可执行权限,则只需键入“''./app.js'''(或路径中的“''app.js''')即可调用它。