在NodeJS中搜索字符串并替换为前缀

时间:2018-02-19 10:27:23

标签: javascript node.js

我想使用NodeJS浏览文件,并为每个*.png / .webm字符串添加前缀。

例如:

hello-guys.png => /custom/path/to/hello-guys.png

我尝试使用this package,但无法添加前缀:

const options = {
  files: path.join(__dirname, '../data.js'),
  from: [
    /.png/g,
    /.webm/g
  ],
  // to: ['bar', 'bax']
  to: ['foo', 'bar']
};

replace(options)
  .then(changes => {
    console.log('Modified files:', changes.join(', '));
  })
  .catch(error => {
    console.error('Error occurred:', error);
  });

有谁知道帮帮我?

谢谢社区:)

1 个答案:

答案 0 :(得分:0)

由于您希望在导致文件扩展名的路径之前插入前缀,因此您的搜索正则结构不能只是.ext,您需要指定与整个路径匹配的内容。例如, if 这些路径从一行的开头开始:

from: [/^.+\.png/g, /^.+\.webm/g]

或者如果它们不是从一行的开头开始,而是用空格分开它们之前的那些,那么:

from: [/[^\s]+\.png/g, /[^\s]+\.webm/g]

无论哪种方式,然后根据包的文档,您需要将回调指定为to而不是静态字符串:

to: match => "/custom/path/to/" + match