Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.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任务更改css文件中的URL_Javascript_Gulp - Fatal编程技术网

Javascript 使用gulp任务更改css文件中的URL

Javascript 使用gulp任务更改css文件中的URL,javascript,gulp,Javascript,Gulp,您好,我正在编写一个gulp任务来更改我的font.css文件中的原始URL。 一旦fractal(styleguide)构建完成,URL需要更改为指向另一个路径 文件中的当前url如下所示url('/assets/fonts/font.ttf') 我想让我的吞咽任务查看文件font.css 并将所有url替换为url(./font.ttf) 这就是任务 var config = require('../config'); if (!config.tasks.js) return; var g

您好,我正在编写一个gulp任务来更改我的font.css文件中的原始URL。 一旦fractal(styleguide)构建完成,URL需要更改为指向另一个路径

文件中的当前url如下所示
url('/assets/fonts/font.ttf')

我想让我的吞咽任务查看文件
font.css

并将所有url替换为
url(./font.ttf)

这就是任务

var config = require('../config');
if (!config.tasks.js) return;

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

var fontURL = function () {
    return gulp.src('../site/fractal/components/preview/fonts.css')
    .pipe(replace('url("/assets/fonts/', 'url("./'))
}

gulp.task('font:url', ['fractal'], fontURL);
module.exports = fontURL
我将这个任务与其他几个任务合并到fractal:build任务中,这样当有人运行该命令来启动styleguide时,就可以动态地处理这个任务,而不必更改许多路径/url。然而,这项任务不起作用。有没有其他方法可以实现我的目标

fonts.css文件的剪贴画和我想要更改的所有css URL的示例(还有更多)


快速提问:您是否在某个时候保存修改过的文件?您的fontURL()没有gulp.dest

另外,我会简化这一点

.pipe(replace('url("/assets/fonts/', 'url("./'))
改为:

.pipe(replace( '/assets/fonts/', './') )

在fractal build 1中的过程是这样的,有一个任务是将所有这些文件生成到它们的生产就绪目录2我有一个任务来复制fractal生成样式指南所需的所有文件,我将它们移动到fractal dir 3中的字体。fractal dir中的css是我要运行此任务的地方。我是否应该将数据转移到同一个文件夹中?我将用字体css文件和我试图修改的所有URL的示例更新这个问题
.pipe(replace( '/assets/fonts/', './') )