Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为gulp jasmine设置模块路径_Javascript_Node.js_Jasmine_Gulp - Fatal编程技术网

Javascript 为gulp jasmine设置模块路径

Javascript 为gulp jasmine设置模块路径,javascript,node.js,jasmine,gulp,Javascript,Node.js,Jasmine,Gulp,我试图用jasmine对一些Javascript代码进行单元测试,jasmine使用peg解析器。peg解析器是在构建时构建的 不幸的是,我还没有找到如何告诉jasmine动态构建的解析器在哪里 到目前为止,我已经: gulp.task('parser', () => { return gulp.src("src/parser.peg") .pipe(peg()) .pipe(gulp.dest(".obj")) }); gulp.task('te

我试图用jasmine对一些Javascript代码进行单元测试,jasmine使用peg解析器。peg解析器是在构建时构建的

不幸的是,我还没有找到如何告诉jasmine动态构建的解析器在哪里

到目前为止,我已经:

gulp.task('parser', () => {
    return gulp.src("src/parser.peg")
        .pipe(peg())
        .pipe(gulp.dest(".obj"))
});

gulp.task('test', ["parser"], () => {
    return gulp.src(["tests/**/*.js", "src/**/*.js", ".obj/parser.js"])
        .pipe(jasmine())
});
现在,在测试运行时,解析器已正确构建并放入
.obj
;但它不在模块路径上,因此测试加载真实代码,真实代码尝试从“parser”导入解析器,测试失败


我可以将真正的代码改为导入
。/obj/parser
,而不是
parser
,但这当然会在生产中失败。我需要告诉jasmine在
.obj
中查找模块。如何使用?

如果使用外部变量,请相应地在
解析器中更改其值,然后在计算
测试的路径时使用它?(比如$objPath+'/parser.js'或其他什么?)我该怎么做?