6

我正在与 Lifera 迁移项目合作。项目是在Liferay 6.1中创建的,现在我正在迁移到 Liferay 6.2。

我在所有 CSS 文件的图像路径中都面临问题。在Liferay 6.2中迁移时,它会将主题和 CSS 文件夹路径附加到所有图像。

Liferay 6.1 中的 background:url(../../images/xyz.jpg)
图像路径: Liferay 6.2 中的图像路径: background:url(/myThemeName/css/../../images/xyz.jpg)

项目目录是这样的:

 _diffs
    |- CSS
       |- common
         |- module1.css
         |- module2.css
         |- module3.css
      |- library
         |- plugin1.css
         |- plugin2.css
         |- plugin3.css
      |- utility
         |- tool1.css
         |- tool2.css
         |- tool3.css
   |- images
      |- All Images
   |- js
      |- JavaScript files

该产品庞大且难以更新所有后台 URL。
是否可以从 CSS 文件中的路径中删除“主题名称/css”。

4

2 回答 2

0

我建议您简单地编写一个可以打开 css 文件的代码 -> 读取然后找到一个匹配的属性 -> background:url() 并简单地将带有 /myThemeNames/css/ 的 url 附加到它。

可以用任何语言编写,php、python、java、c++。无论你觉得舒服。即使您有 50 个 css 文件。您可以简单地将文件名传递给文件流,它应该为您完成。

如果您在编写代码时需要任何帮助,请告诉我。

于 2016-05-02T21:12:25.343 回答
0

看看这个:https ://github.com/philidem/rewrite-css-urls

rewrite-css-urls 是我过去在更大的网站(4000 多页)上使用的东西,在那里我遇到了类似的问题。以下内容应引导您完成该过程:

安装: npm install rewrite-css-urls --save

用法:

寻找:

require('rewrite-css-urls').find(cssCode, function(urlRef) {
    console.log('Found URL: ' + urlRef.url);
});

查找和替换:

var transformedCssCode = require('rewrite-css-urls').findAndReplace(cssCode, {
    replaceUrl: function(urlRef) {
        return urlRef.url.replace('blah.com', 'mycompany.com');
    }
});

如果您需要有关其使用和功能的任何其他信息,请查看NPMJS.com 上的这篇文章

我希望这可以帮助解决您的问题!

于 2016-05-03T14:34:43.453 回答