【发布时间】:2015-08-27 18:03:27
【问题描述】:
我的目标是改变颜色
.made-easy-theme{
color:black
}
在具有另一种颜色的 css 文件中。但是当我使用 fs.writeFile 更改颜色时,它会删除 css 文件中的所有其他内容并仅替换
.made-easy-theme{
color:black
}
在更改颜色之前,css 文件包含以下内容,
@charset "utf-8";
@import url(http://fonts.googleapis.com/css?family=Lato:300,400,700);
@import url(http://weloveiconfonts.com/api/?family=entypo);
/* entypo */
[class*="entypo-"]:before {
font-family: 'entypo', sans-serif;
}
.made-easy-theme{
color:black
}
* {
box-sizing: border-box;
}
.toggler {
color: #A1A1A4;
font-size: 1.25em;
margin-left: 8px;
text-align: center;
cursor: pointer;
}
.toggler.active {
color: #000;
}
.cardss {
list-style: none;
padding-right: 10px;
padding-left: 10px;
text-align: left;
-webkit-overflow-scrolling: touch;
max-width: 100%;
-webkit-backface-visibility: hidden;
}
但改变颜色后它只包含,
.made-easy-theme{color:hsl(0, 22%, 51%)}
hsl(0, 22%, 51%)(我从客户端收到的颜色)。 下面是我的 js 文件,其中包含更改 css 文件的代码,
var main = 'temp/' + userId + '/templates/' + appId + '/css/main.css';
var color = req.body.color;
function replaceThemecolor(color) {
fs.readFile(main, 'utf-8',
function (err, data) {
var searchStr = ".made-easy-theme{color:black}";
console.log(searchStr);
var result = searchStr.replace(new RegExp('black', ''), color);
fs.writeFile(main, result, 'utf-8', function (err) {
console.log("kk");
console.log(color);
console.log(result);
if (err) return console.log(err);
});
});
}
我认为问题出在 fs.writeFile 方法上。我不知道如何获得正确的输出。
【问题讨论】:
标签: regex angularjs node.js fs