首页 > 解决方案 > 标记模板以摆脱第一个换行符

问题描述

我有这样的功能:

export default ({ subDomain }) => `
{
    mutation ${upperCase(subDomain)} {
        ${lowerCase(subDomain)} {
            ok
        }
    }
}
`

但是,它返回一个以新行开头的字符串。

我不想这样写:

export default ({ subDomain }) => `{
    mutation ${upperCase(subDomain)} {
        ${lowerCase(subDomain)} {
            ok
        }
    }
}
`

有没有办法使用这个模板的标签来摆脱这个新行?

就像是:

export default ({ subDomain }) => trim`
{
    mutation ${upperCase(subDomain)} {
        ${lowerCase(subDomain)} {
            ok
        }
    }
}
`

标签: javascripttypescriptwhitespacetemplate-literalstagged-templates

解决方案


为什么不直接放在.trim()模板文字之后呢?

const fn = (arg) => `
{
    mutation ${arg} {
      ...
    }
}
`.trim();

console.log(fn('abc'));


推荐阅读