节点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)