无法使用 console.log 记录字符串?

我不明白为什么这段代码没有按我的预期工作。它在 w3schools 上似乎能正常运行。

head_tag.html

<script type="text/discourse-plugin" version="0.8">

  const user = api.getCurrentUser();
  const { setDefaultHomepage } = require('discourse/lib/utilities');

  console.log("Primary group: " + user.primary_group_name);
  console.log('full map: ' + settings.group_homepage_map);
  if (settings.group_homepage_map && settings.group_homepage_map_enabled) {
      const map = settings.group_homepage_map.split("|");
      var two = map[1];
      console.log("Hello world!");
      console.log("hello? " + map);
      console.log("my map zero: " + map[0]);
      console.log(map[0]);
      console.log(map[1]);
      console.log(String('some text'));
      console.log("wwf: " + map[0]);
      console.log('two' + map[1] + 'one');
      console.log("first group: " + map[0].split(',')[0]);
      console.log("first url: " + map[0].split(',')[1]);
      console.log("second: " + map[1]);
      console.log("thing: ", map[0].split(",")[1]);
    }
  if (settings.home_url_override && settings.home_url_override_group.length == 0 ) {
    setDefaultHomepage(settings.home_url_override);
  }

</script>

JavaScript 控制台中只显示了以下内容:

Primary group: lastone
full map: lastone,c/transcription/5|testergroup,latest
hello? lastone,c/transcription/5,testergroup,latest
my map zero: lastone,c/transcription/5
lastone,c/transcription/5
wwf: lastone,c/transcription/5
first group: lastone

看来我无法只输出一个字符串,也无法访问数组的 [1] 项。

诸神恐怕是疯了。

您是想按 | 分割吗?为什么不使用 ,

这是一个从群组到其目标主页的映射。

     description: "group,c/cat/5|group2,c/cat2/6"

因此,我按 | 分割以获取每一对,然后再按 , 分割这些对,得到:

  • group → c/cat/5
  • group2 → c/cat2/6

但这并不能解释为什么 console.log("Hello world!"); 没有输出文本……

那说明代码没有执行。如果你在 if 语句之外,console.log 会执行吗?

谢谢,Justin!我会试试看,但同一代码块中的许多日志仍在被调用。而且,记录一个设置字符串不会导致程序终止,但将字符串与变量中的字符串拼接后却会触发。