节点JS避免辛苦地添加“使用严格”到我的所有文件
所以我想为我的项目启用严格的模式,但是我有很多的文件,join了"use strict";
到他们所有的顶部将是一个痛苦。 我发现了--use_strict
CLI选项是非常棒的节点,但是对于我的项目目录中的每个文件(包括所有第三方模块及其模块)都是可用的,我真的不想纠正每个人的文件,只是我的。
所以我的问题是,有没有一种方法可以自动将“严格使用”添加到我的文件?
您可以编写一个脚本来打开每个文件,并在其开始处添加"use strict"\n
并将其写回到磁盘。
非常未经testing的例子:
var fs = require("fs"), files = fs.readDirSync('./'), i; for (i = 0; i < files.length; i += 1) { var fileContent = fs.readFileSync(files[i]).toString(); fileContent = "\"use strict\"\n" + fileContent; fs.appendFileSync(files[i], fileContent); }
testingfile[i]
是一个目录,并移动到一个函数,使其recursion如果您需要。
受启发https://stackoverflow.com/a/11987281/85010和https://stackoverflow.com/a/10559790/85010 。
use-strict-cli是一个Node.js命令行工具,用于在给定目录中的文件中添加/删除"use strict"
语句。
说明可以在这里find:
https://github.com/philidem/use-strict-cli
添加缺less"use strict
”语句的示例用法:
use-strict ./src
删除缺less"use strict"
语句的示例用法:
use-strict ./src –remove
我build议你在你的工作周期中采用jshint ,并让它为你做这个工作,其中包括一些其他有用的检查,以保证高质量的代码。
我在我的web项目的根目录下维护一个.jshintrc
选项:
{ "immed": true, "latedef": true, "newcap": true, "nonew": true, "trailing": true, "multistr": true, "devel": true }
你看到strict: true
是事实上的缺失。 这是因为jshint默认设置为true
然后你可以让jshint安装成git pre-commit钩子运行,甚至可以更好地安装它作为你的代码编辑器的插件,并在你的代码中实时地修正错误(例如SublimeLinter package for Sublime text 3)