Gulp-haml 任务在 OSX 10.10.4 上导致错误
Gulp-haml task causing an error on OSX 10.10.4
我正在使用 iMac 运行ning OSX 10.10.4 并使用以下工具(以及其他工具)创建演示网站。
haml v4.0.6 ,
gulp v3.9 ,
gulp-haml v0.1.5
我的开发站点的 haml 文件夹中的 index.haml 文件中有以下代码段
/ HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries
/[if lt IE 9]
%script(src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js")
%script(src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js")
当我直接从命令行 运行 haml 命令时,它将产生以下 html 代码
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src='https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js'></script>
<script src='https://oss.maxcdn.com/respond/1.4.2/respond.min.js'></script>
<![endif]-->
这正是我所期待和得到的。但是,我在 gulpfile.js 文件
中设置了以下任务
gulp.task('haml', function() {
gulp.src('haml/*.haml')
.pipe(haml())
.on('error', errorLog)
.pipe(gulp.dest('./'));
});
每当我 运行 这个任务中包含上面的 haml 片段时,我都会遇到一个巨大的崩溃,基本上说有一个 "SyntaxError: Unexpected identifier" 后面跟着一个长的堆栈跟踪进入 gulp-haml 代码。
顺便说一句,gulpfile.js 文件顶部附近的 errorLog 函数很简单:
function errorLog(error) {
console.error.bind(error);
this.emit('end');
}
将上述 haml 代码从文件中取出并 运行 执行任务将创建 html 文件而不会出错。
我需要一些帮助。是我做错了什么,还是我使用的工具设置有问题。
我猜您的 haml
CLI 工具是基于 Ruby 的版本,而不是基于节点的版本(称为 haml-js
)。 Node 版本无法正确处理 IE 条件,is a known issue.
这有效,但是:
/ HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries
<!--[if lt IE 9]>
%script(src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js")
%script(src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js")
<![endif]-->
我正在使用 iMac 运行ning OSX 10.10.4 并使用以下工具(以及其他工具)创建演示网站。
haml v4.0.6 , gulp v3.9 , gulp-haml v0.1.5
我的开发站点的 haml 文件夹中的 index.haml 文件中有以下代码段
/ HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries
/[if lt IE 9]
%script(src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js")
%script(src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js")
当我直接从命令行 运行 haml 命令时,它将产生以下 html 代码
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src='https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js'></script>
<script src='https://oss.maxcdn.com/respond/1.4.2/respond.min.js'></script>
<![endif]-->
这正是我所期待和得到的。但是,我在 gulpfile.js 文件
中设置了以下任务gulp.task('haml', function() {
gulp.src('haml/*.haml')
.pipe(haml())
.on('error', errorLog)
.pipe(gulp.dest('./'));
});
每当我 运行 这个任务中包含上面的 haml 片段时,我都会遇到一个巨大的崩溃,基本上说有一个 "SyntaxError: Unexpected identifier" 后面跟着一个长的堆栈跟踪进入 gulp-haml 代码。
顺便说一句,gulpfile.js 文件顶部附近的 errorLog 函数很简单:
function errorLog(error) {
console.error.bind(error);
this.emit('end');
}
将上述 haml 代码从文件中取出并 运行 执行任务将创建 html 文件而不会出错。
我需要一些帮助。是我做错了什么,还是我使用的工具设置有问题。
我猜您的 haml
CLI 工具是基于 Ruby 的版本,而不是基于节点的版本(称为 haml-js
)。 Node 版本无法正确处理 IE 条件,is a known issue.
这有效,但是:
/ HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries
<!--[if lt IE 9]>
%script(src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js")
%script(src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js")
<![endif]-->