我正在创建一个带有节点的样板项目。
在最基本的情况下,当我运行node create.js projectName
时,我希望创建一个包含大量资产的项目文件夹。
这是代码的一个片段:
function data(){
return {
'index.html': `<!DOCTYPE html>
<html lang="en">
<link rel="stylesheet" type="text/css" media="screen" href="css/main.css" />
...
<body> <script src="myscripts/main.js"></script> </body>
</html>`,
}
}
然后我创建文件
fs.writeFileSync(`${p[0]}/index.html`, data()['index.html'])
我删除了许多不相关的代码,但是生成的index.html
中的要点如下所示
<!DOCTYPE html>
<html lang="en">
...
<body> <script src="myscripts/main.js"></script> </body>
</html>
如何在第2-5行的开头删除这个空白,而不需要在data
函数中编写对象
发布于 2020-07-30 22:50:43
可以使用正则表达式在行的开头删除空白。
fs.writeFileSync(`${p[0]}/index.html`, data()['index.html'].replace(/^\s+/gm, '');
m
标志使^
匹配输入字符串中间的换行符,而不仅仅是字符串的开头。
另一个选项是在模板文字中使用所需的缩进。
function data(){
return {
'index.html': `
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" type="text/css" media="screen" href="css/main.css" />
...
</head>
<body> <script src="myscripts/main.js"></script> </body>
</html>`,
}
}
这看上去不像是“不光彩的”。
发布于 2020-07-31 15:39:40
https://stackoverflow.com/questions/63182335
复制相似问题