防止 ES6 模板字符串中的换行

2024-06-24

ESLint:第 403 行超过最大行长度 120 (max-len)

我有一个很长的字符串,是使用 ES6 模板字符串构建的,但我希望它没有换行符:

var string = `Let me be the 'throws Exception’ to your 'public static void 
              main (String[] args)’. I will accept whatever you give me my ${love}.`
console.log(string);

Result:

 Let me be the 'throws Exception’ to your 'public static void 
 main (String[] args)’. I will accept whatever you give me xxx.

我的期望:

Let me be the 'throws Exception’ to your 'public static void main (String[] args)’. I will accept whatever you give me xxx.

要求:

  1. 我无法禁用 eslint 规则,因为强制执行是必要的。

  2. 我无法将数据放在单独的文件中,因为数据是动态的。

  3. 我无法连接多个较短的字符串,因为这工作量太大。


这是预期的行为。模板文字解决的重要问题之一是多行字符串 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#Multi-line_strings:

源中插入的任何换行符都是模板文字的一部分。

如果需要进一步处理字符串,可以使用其他 JS 功能来完成,例如正则表达式:

var string = `Let me be the 'throws Exception’ to your 'public static void 
              main (String[] args)’. I will accept whatever you give me.`
              .replace(/[\n\r]+ */g, ' ');

String.raw https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/raw是用于转换模板文字的内置函数。可以使用标签函数为模板文字提供自定义行为。需要注意的是String.raw与默认模板转换器的不同之处在于它的处理方式特殊字符 https://learn.microsoft.com/en-us/scripting/javascript/advanced/special-characters-javascript#escape-sequences。如果它们在字符串中使用,则应另外处理unescape-js https://github.com/iamakulov/unescape-js/blob/master/src/index.js#L35-L49或类似的辅助函数。

function singleLine(strsObj, ...values) {
  const strs = strsObj.raw
  .map(str => str.replace(/[\n\r]+ */g, ' '))
  .map(unescapeSpecialChars);
  return String.raw(
    {raw: strs },
    ...values
  );
}


var string = singleLine`Let me be the 'throws Exception’ to your 'public static void 
              main (String[] args)’. I will accept whatever you give me.`;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

防止 ES6 模板字符串中的换行 的相关文章

  • javascript 可以从父页面访问 iframe 元素吗?

    我的页面上有 iframe iframe 和父页面位于不同的域中 父页面上的 javascript 代码可以访问此 iframe 内的元素吗 如果页面来自不同的域 则不应该这样做 浏览器安全沙箱应该阻止这种类型的访问 当两个页面来自不同的时
  • 如何在 js.erb 中使用 Ruby 代码?

    我可以使用以下方式在模态中渲染部分内容escape javascript在js erb文件代码中 body append my modal modal show 但是 我似乎无法获得以下结果 console log ERB 将输出一个纯字符
  • JavaScript 中的负数到二进制字符串

    任何人都知道为什么javascriptNumber toString https developer mozilla org en US docs JavaScript Reference Global Objects Number toS
  • 各种 Javascript 优化项目如何影响 DOM 性能?

    通过 Tracemonkey Squirrelfish 和 V8 项目 大量 C S 计算机科学融入了 Javascript 这些项目 或其他项目 是否解决了 DOM 操作的性能问题 或者它们纯粹与 Javascript 计算相关 纯 DO
  • 计算两列中两个总和的平均值,并将其显示在 JQGrid 的下一列中

    I m using Jqgrid with summery row at grouping level Now I want to know one thing that Is it possible to show average cal
  • 在 Javascript 中隐藏按钮

    在我最新的程序中 有一个按钮 单击时会显示一些输入弹出框 这些框消失后 如何隐藏按钮 You can set its visibility财产 http www w3schools com cssref pr class visibilit
  • `forEach` 函数中的 `return` 关键字是什么意思? [复制]

    这个问题在这里已经有答案了 button click function 1 2 3 4 5 forEach function n if n 3 it should break out here and doesn t alert anyth
  • Javascript CORS 图像/画布操作

    我正在尝试从另一个已配置为允许 CORS 的域检索图像 并操纵像素 然后我想显示结果并能够操纵结果 我可以在我请求的图像上使用 getImageData 和 toDataURL 所以我知道服务器部分可以工作 但是 当我尝试将图像的 src
  • 发送带有图像的嵌套 JSON

    我一直在尝试研究一种能够通过 Ajax 将嵌套 JSON 请求发送回服务器的方法 根据我的理解 我们主要用于向服务器发送图像或文件的 formdata 在这种情况下不起作用 因为 FormData 似乎不处理嵌套对象 这就是我需要发送的有效
  • 将“http://”添加到尚未包含“http://”的 URL 前面

    我有一个input保存 URL 的字段 我希望这个保存的输入能够识别变量开头不存在 Http 但不知道从哪里开始 是否可以仅检查字符串的一部分 然后有一个在必要时追加的函数 如果您还想允许 https 我会使用如下正则表达式 if http
  • 提交外部有 INPUT 的表单,并修改值后

    我有一个form 有几个
  • 从数组中删除空字符串,同时保持记录而不循环?

    这个问题在这里被问到 从数组中删除空字符串 同时保留非空字符串的索引记录 https stackoverflow com questions 18113243 remove empty strings from array while ke
  • 解析字符串:提取单词和短语 [JavaScript]

    我需要在以空格分隔的术语列表中支持确切的短语 用引号引起来 因此 用空格字符分割相应的字符串已经不够了 Example input foo bar lorem ipsum baz output foo bar lorem ipsum baz
  • Lighthouse 多个 URL

    我需要对一个网站进行全面审核 但我想知道是否有任何方法可以让 Lighthouse 做到这一点 我知道他们不支持完整的站点审核或多个 URL 但我发现可以使用 bash 脚本来完成 因此 我将不胜感激对此案的任何帮助 或者您可能会推荐任何灯
  • 过滤数据表中的行

    我目前的 JQuery 插件 DataTables 工作正常 并且我在页面顶部插入了一个按钮来进一步过滤列表 我还使用了 DataTables 内置的搜索栏 我希望按钮向下过滤表格 并只显示包含特定值的行 下面是我一直在做的事情 但似乎没有
  • Javascript - HTML Canvas 上的 Gecko 边框半径自适应(CSS border-radius)

    我试图弄清楚如何将 border radius css 属性的行为重现到 HTML 画布中 所以我已经在 J avascript 中做了一些事情 以便使用特定的半径 对于每个角 来计算给定形状的正确边界 如果需要的话 这是上一个问题 Gec
  • Javascript - 通过键获取特定 JSON 数组元素内的属性值

    我有一个像这样的 JSON 结构 map key1 valueA1 key2 valueA2 key3 valueA3 key1 valueB1 key2 valueB2 key3 valueB3 key1 valueC1 key2 val
  • 多个引导模式的滚动问题

    我有一个带有大量信息的模态页面 因此您需要滚动 该模式包含指向第二个模式的链接 When I 打开模态 1 单击链接打开模式 2 模式 1 保持在后台 然后关闭模式 2 以便我回到模式 1 modal 1 失去滚动 仍然有一个滚动条 但它不
  • Promise链基本问题

    我正在尝试理解 Promise 我创建了一些有效的承诺链 而另一些则无效 我已经取得了进步 但显然缺乏基本概念 例如 以下承诺链不起作用 这是一个愚蠢的例子 但说明了问题 我正在尝试在链中使用 Node 的函数 randomBytes 两次
  • ASP.NET MVC3 Ajax.ActionLink - 条件确认对话框

    我有一个 Ajax ActionLink 仅当满足某些条件 用户有未保存的更改 时 我才希望显示一个确认对话框 我创建了一个 JavaScript 函数 它根据需要显示确认对话框 并根据响应返回 true 或 false 我将其绑定到 Ac

随机推荐

  • 尝试将 SVG 绘制到画布上,为什么我的 SVG XML 被截断?

    我真正想做的就是将我喜欢的动态创建的 SVG 放入 PDF 中 目前通过 jsPDF 添加 SVG 不起作用 因此我尝试将它们转换为 PNG 以便尝试添加图像 这是 IE11 中的情况 客户端要求 如果我做 var lsvg d3 sele
  • 从 etcd api 获取集群健康状况

    从命令行 我可以运行以下命令来获取集群的运行状况etcd集群 像这样 etcdctl cluster health member ac92bd2949b92e96 is healthy got healthy result from htt
  • 如何为所有用户静默安装 NSIS 可执行文件

    我有一个 NSIS 安装程序可执行文件 我想为所有用户静默安装它 我知道我可以通过 S进行静默安装的参数 问题是安装程序的默认选项是仅为当前用户安装 如何从命令行更改此选项 installer exe S NSIS本身只支持 S NCRC
  • JPA 持久保存与现有实体有关系的新实体

    我有两个实体 ManyToMany关系 让我们举一个常见的例子 学生和课程 我坚持一门新课程与学生列表 如果新学生在列表中 它应该级联新学生 如果存在 它应该更新它 对于新学生和新课程 它工作得很好 但对于新课程和现有学生 我会从数据库中抛
  • 使用循环绘制多个结果

    我想使用 for 循环绘制原始和窗口的结果 10 50 100 全部在一个图中这是我得到的情节 https i stack imgur com wAixM png below is my code Read data in data csv
  • wp7 上的折线图

    我正在使用 amCharts 及其 SerialChart 与 LineGraph 相结合 我已经让它以这种方式工作
  • 返回二维数组中不同值的函数

    我有以下二维数组 var items al bv sd al cc ab cv vv sw al bv sd 我需要一个函数 它将返回一个类似的数组 但具有不同的值 例如 在上面的数组中 al bv sd 发生两次 我希望该函数返回我 va
  • 解决复发问题

    我被给予F 0 X and F i A F i 1 2 B F i 1 C 1000000 for 1 i N 现在给出N A B C and X 如何找到所有N元素有效吗 我需要将这 N 个元素分成 2 个集合 其中最大的元素在第一个集合
  • 从 web 应用程序更新 url 栏以表示当前状态

    我基本上想做杰森要求的事情here https stackoverflow com questions 1457 modify address bar url in ajax app to match current state 用一句话来
  • 自定义 UITableViewCell 不显示故事板中的标签

    在此屏幕截图中 您可以看到我已在 UIViewController 中添加了 UITableView 然后通过在其中添加一些标签来自定义 UITableViewCell 但问题是当我运行应用程序时 所有单元格都是空的 根本没有标签 我不明白
  • jQuery .delay 不延迟

    如何设置元素的 html 等待 2 秒 然后将 html 设置为其他内容 例子 div html clicked delay 2000 html 2 seconds have passed 发生了什么 div 立即得到 2 秒已过去 而不是
  • wpf中基于绑定bool属性的样式对象

    如何使用 wpf 中的 xaml 更改我在 mvvm 设置中要使用的对象的填充颜色 当绑定的属性设置为 True 时 我想将填充颜色更改为红色 该属性称为 IsRound 如果需要的话我会发布代码 我现在不在电脑上 UPDATED 有人可以
  • 压缩图像使其小于 4KB

    我有一个人的图像 我想将其压缩以使其小于 4KB 我需要对其进行压缩 并且即使图像缩小 仍然可以识别人的脸部 这是特蕾莎 梅 Theresa May 142kB 并调整大小为 72x72 并转换为灰度并减少到 2kB图像魔术师在命令行 co
  • C++ 跨平台库

    我对 C 并不陌生 但我从来没有设法了解库 我想将网络 图形和输入类集从主可执行文件中分离出来 以便我可以单独更新它们 而不是将所有代码的重新编译版本作为单个可执行文件发送 这可能吗 我该如何跨平台进行此操作 例如 该过程适用于 Windo
  • 绘制渐变圆

    我正在尝试重现带有渐变圆圈的 Stephen Few 图形 该图形演示了光线从上方出现的硬连线假设 以下是圆圈 我怎样才能重新创建这个 画圆圈还不错 但添加渐变是我遇到的问题 我认为网格可能会创造出更清晰的东西 但这可能是我的误解 从画圆圈
  • 以编程方式在 Chrome 扩展中启用内容脚本

    我开发了一个 chrome 扩展 它工作得非常好 的一部分manifest json看起来像这样 content scripts js js script js css css style css matches http localhos
  • PyCharm 中的 TensorFlow Python 警告 - 在 __init__.py 中找不到引用 __version__

    我正在使用 if tf version lt x x x PyCharm 中的声明 可以在许多 TensorFlow GitHub 示例中找到 如下所示 tensorflow version test py import tensorflo
  • Ionic CSS 类分配

    我正在设计我的应用程序 熟悉基本的主题组件 SASS 等 但有一件突出且没有意义的事情是为什么当我在正在运行的应用程序中预览源代码时会添加大量额外的 CSS 类 就我而言 我只是想更改菜单标题背景 在我的 app html 文件中 我有
  • 如果您的 UIScrollView 已经处于该缩放级别,zoomToRect 不会执行任何操作

    我想我在 UIScrollView 中发现了一个错误 但我想检查其他人是否观察到同样的事情以及它是否是预期的行为 我有一个 UIScrollView 并尝试使用 ZoomToRect 设置它正在查看的内容 效果很好 如果我然后拖动视图 使其
  • 防止 ES6 模板字符串中的换行

    ESLint 第 403 行超过最大行长度 120 max len 我有一个很长的字符串 是使用 ES6 模板字符串构建的 但我希望它没有换行符 var string Let me be the throws Exception to yo