首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当存储在对象中时,如何从模板文本中删除空白?

当存储在对象中时,如何从模板文本中删除空白?
EN

Stack Overflow用户
提问于 2020-07-30 22:34:08
回答 2查看 624关注 0票数 0

我正在创建一个带有节点的样板项目。

在最基本的情况下,当我运行node create.js projectName时,我希望创建一个包含大量资产的项目文件夹。

这是代码的一个片段:

代码语言:javascript
运行
复制
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>`,
    }
}

然后我创建文件

代码语言:javascript
运行
复制
fs.writeFileSync(`${p[0]}/index.html`, data()['index.html'])

我删除了许多不相关的代码,但是生成的index.html中的要点如下所示

代码语言:javascript
运行
复制
<!DOCTYPE html>
        <html lang="en">
        ...
        <body> <script src="myscripts/main.js"></script> </body>
        </html>

如何在第2-5行的开头删除这个空白,而不需要在data 函数中编写对象

EN

回答 2

Stack Overflow用户

发布于 2020-07-30 22:50:43

可以使用正则表达式在行的开头删除空白。

代码语言:javascript
运行
复制
fs.writeFileSync(`${p[0]}/index.html`, data()['index.html'].replace(/^\s+/gm, '');

m标志使^匹配输入字符串中间的换行符,而不仅仅是字符串的开头。

另一个选项是在模板文字中使用所需的缩进。

代码语言:javascript
运行
复制
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>`,
  }
}

这看上去不像是“不光彩的”。

票数 1
EN

Stack Overflow用户

发布于 2020-07-31 15:39:40

尝尝这个

代码语言:javascript
运行
复制
function replace(str) {
         return str.replace(/^([ ]*)/gim, "");
    }

CheckThis

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63182335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档