与多个环境的级联配置?
Cascading configuration with multiple environments?
如何在稍微不同的环境中使用 cascading configurations(一种用于 node.js,另一种用于浏览器)?两种环境之间唯一真正的区别是 env
变量。
理想情况下我想要这样的东西:
my-project
├── .eslintrc.json
├── .eslintrc.node.json
├── .eslintrc.browser.json
└─┬ src
└── .eslintrc.json
我指示 ESLint 使用合并的地方:
.eslintrc.json
.eslintrc.node.json
src/.eslintrc.json
有什么想法吗?
我试过的
我尝试声明单独的 .eslintrc.node.json
和 .eslintrc.browser.json
文件。这有效,但级联配置不起作用(子目录中具有相似文件名的配置文件被忽略)。这种方法还存在两个文件之间存在大量重复的问题。
我尝试声明一个 .eslintrc.json
文件并将 env
配置文件传递给 eslint 构造函数。磁盘上的配置被拾取但是传递给构造函数的 env
被忽略了。
注意:我通过 gulp-eslint 与 eslint 交互,但我假设如果我直接与 eslint 交互,我会看到相同的行为。
我明白了。 CLIEngine 采用 "envs" 构造函数选项,因此我执行了以下操作:
gulp.task("lint-for-node", function()
{
return gulp.src(
[
"src/**.js"
]).
pipe(eslint(
{
"envs": ["es6", "node", "amd"]
}
)).
pipe(eslint.format()).
pipe(eslint.failOnError());
});
gulp.task("lint-for-browser", function()
{
return gulp.src(
[
"src/**.js"
]).
pipe(eslint(
{
"envs": ["es6", "browser"]
}
)).
pipe(eslint.format()).
pipe(eslint.failOnError());
});
级联配置正确地合并了 .eslintrc.json
和 src/.eslintrc.json
,并且 ESLint 从上面的构造函数中获取了正确的环境。
如何在稍微不同的环境中使用 cascading configurations(一种用于 node.js,另一种用于浏览器)?两种环境之间唯一真正的区别是 env
变量。
理想情况下我想要这样的东西:
my-project
├── .eslintrc.json
├── .eslintrc.node.json
├── .eslintrc.browser.json
└─┬ src
└── .eslintrc.json
我指示 ESLint 使用合并的地方:
.eslintrc.json
.eslintrc.node.json
src/.eslintrc.json
有什么想法吗?
我试过的
我尝试声明单独的
.eslintrc.node.json
和.eslintrc.browser.json
文件。这有效,但级联配置不起作用(子目录中具有相似文件名的配置文件被忽略)。这种方法还存在两个文件之间存在大量重复的问题。我尝试声明一个
.eslintrc.json
文件并将env
配置文件传递给 eslint 构造函数。磁盘上的配置被拾取但是传递给构造函数的env
被忽略了。
注意:我通过 gulp-eslint 与 eslint 交互,但我假设如果我直接与 eslint 交互,我会看到相同的行为。
我明白了。 CLIEngine 采用 "envs" 构造函数选项,因此我执行了以下操作:
gulp.task("lint-for-node", function()
{
return gulp.src(
[
"src/**.js"
]).
pipe(eslint(
{
"envs": ["es6", "node", "amd"]
}
)).
pipe(eslint.format()).
pipe(eslint.failOnError());
});
gulp.task("lint-for-browser", function()
{
return gulp.src(
[
"src/**.js"
]).
pipe(eslint(
{
"envs": ["es6", "browser"]
}
)).
pipe(eslint.format()).
pipe(eslint.failOnError());
});
级联配置正确地合并了 .eslintrc.json
和 src/.eslintrc.json
,并且 ESLint 从上面的构造函数中获取了正确的环境。