【发布时间】:2015-07-12 02:54:29
【问题描述】:
我正在使用运行 OSX 10.10.4 的 iMac 并使用以下工具(以及其他工具)来创建演示网站。
haml v4.0.6 , 吞咽 v3.9 , gulp-haml v0.1.5
我在开发站点的 haml 文件夹中的 index.haml 文件中有以下 sn-p
/ 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 sn-p 运行这个任务时,我都会遇到一个巨大的崩溃,基本上是说有一个“SyntaxError: Unexpected identifier”,然后是一个很长的堆栈跟踪进入 gulp-haml 代码。
顺便说一句,gulpfile.js 文件顶部附近的 errorLog 函数很简单:
function errorLog(error) {
console.error.bind(error);
this.emit('end');
}
从文件中取出上述haml代码并运行任务将创建html文件而不会出错。
我需要一些帮助。是我做错了什么,还是我正在使用的工具设置中存在错误。
【问题讨论】:
标签: javascript gulp haml