繁体   English   中英

在字符串中粉笔标记模板文字

[英]chalk tagged template literals within strings

我正在使用 chalk 并且我正在以编程方式构造一个字符串(请参阅下面代码段中的str )。

我想用粉笔来尊重我的字符串,因为它会尊重标记的术语板文字

怎么做到呢?

const chalk = require('chalk');
const p = chalk`{bold BOLD}`

const str = `{bold BOLD}`
const q = chalk`${str}`

console.log(p == q ? "ok" : "!ok")

正如你所看到的pq是不同的 - 代码总是输出!ok

我找到了一个可以做到这一点的粉笔代理

const chalk = require("chalk");

const chalkish = (parts, ...substitutions) => {
  const rawResults = [];
  const cookedResults = [];
  for (var i = 0; i < parts.length; i++) {
    rawResults.push(parts.raw[i]);
    cookedResults.push(parts[i]);
    if (i < substitutions.length) {
      rawResults.push(substitutions[i]);
      cookedResults.push(substitutions[i]);
    }
  }

  const chalkParts = [cookedResults.join("")];
  chalkParts.raw = [rawResults.join("")];

  return (chalk(chalkParts));
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM