【发布时间】:2015-05-23 18:48:41
【问题描述】:
我有一个项目,我使用 LESS 作为我的 CSS 预处理器并使用 Gulp 作为我的构建工具。我的文件夹结构如下:
- 样式表
- > 少
- >> 部分
- >>>_colors.less
- >> index.less
我的index.less 文件如下所示:
@import "partials/_colours";
.red { color: @colour; font-size: 12em; }
我的_colours.less 文件如下所示:
@colour: red;
我的gulpfile.js 看起来像这样(简化,删除了错误处理)
var lessFiles = ['stylesheets/less/**/*.less', '!stylesheets/less/partials/*.less'];
gulp.task('less:compile', function() {
return gulp.src(lessFiles)
.pipe(sourcemaps.init())
.pipe(less())
.pipe(sourcemaps.write("maps", {includeContent: false, sourceRoot: '../less'}))
.pipe(gulp.dest('stylesheets'));
});
gulp.task('less:watch', ['less:compile'], function() {
return gulp.watch(lessFiles[0], ['less:compile']);
});
当我运行 gulp less:watch 时,所有内容都会编译,我会在我的样式表目录中获得一个 index.css 文件(带有源映射),我可以将其带到 Chrome 并连接以进行实时编辑。
如果我在 Chrome 编辑器中编辑 index.less 文件并保存,我会立即重新加载。但是,如果我在_colours.less 中更改@color 变量的值,我在重新加载窗口之前看不到更改。
这是一个错误还是我做错了什么?
我正在使用 Chrome 43。
【问题讨论】:
-
不是错误,这是预期的行为。 Chrome 不会自动重新加载样式表,也不会检测文件更改。
-
当您说“Chrome 不会自动重新加载样式表并且不会检测文件更改。”时,您说的是 _colours.less 文件,对吧?
-
是的,chrome 无法知道文件已更改。
-
这是否记录在任何地方?
-
非常感谢 Fabian 的帮助。我会等几天再结束这个问题,以防万一有人想分享更多内容。
标签: css google-chrome less gulp gulp-less