簡體   English   中英

存儲在 object 中時如何從模板文字中刪除空格?

[英]How remove white space from template literals when stored in an object?

我正在使用節點創建一個樣板項目。

在最基本的情況下,當我運行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 function 中寫入 object

您可以使用正則表達式刪除行首的空格。

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>`,
  }
}

這看起來不像是“取消”它。

嘗試這個

function replace(str) {
         return str.replace(/^([ ]*)/gim, "");
    }

檢查這個

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM