gulp-less 如何设置全局变量

2015-09-24 11:12:40 +08:00
 youngdze

向各位请教个问题。
是这样的,我们工程用 less 来写样式,其中设置了一些变量,命令是这样的:

lessc --global-var=ENV=dev --global-var=version=10 --no-color FileName

然后我们现在打算通过 gulpjs 来完成这部分工作,写好的部分代码如下:

var gulp = require('gulp');
var less = require('gulp-less');

gulp.task('less', function(){
  return gulp.src('css/index.less')
    .pipe(less())
    .pipe(gulp.dest('css'));
});

请问我要怎么把 global var 传入 gulp-less 呢?请各位指教,谢谢~

6185 次点击
所在节点    Node.js
5 条回复
Pazzilivo
2015-09-24 11:31:59 +08:00
var argv = require('yargs').argv;
通过命令行的参数传进来
gulp less --env "dev" --version "10
youngdze
2015-09-24 12:14:14 +08:00
@Pazzilivo 非常棒的库!它确实是很有用的。
但我这里的 less global-var 是指在 less 里设置全局变量,然后 less 文件内可以调用变量 @ENV 和 @version
我具体问的是怎么在 gulp-less 内传这个全局变量给 less 文件。
liangqing
2015-09-24 12:26:26 +08:00
给 gulp 里面的 less 传一个参数:
```
gulp.task('less', function(){
return gulp.src('css/index.less')
.pipe(less({globalVars:{ENV:dev, version:10}}))
.pipe(gulp.dest('css'));
});
```
youngdze
2015-09-24 14:42:18 +08:00
@liangqing 完美解决,谢谢~~
skyshy
2015-09-26 11:34:06 +08:00
直接可以用 nodejs 的全局变量: `process.env.NODE_ENV || 'production' `

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/223292

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX