You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac系统VS Code外部文件链接失败问题求助

问题解决步骤

一、修复文件路径问题

你的HTML中<script>标签使用了绝对路径/js/number-guessing-game.js,在本地开发环境中,这个路径会指向Mac系统的根目录(而非你的项目根目录),导致找不到JS文件。根据你的文件结构,应该使用相对路径:

修改HTML中的script标签:

<script src="./js/number-guessing-game.js"></script>

或者更简洁的写法(当前目录下的js文件夹):

<script src="js/number-guessing-game.js"></script>

二、修复JS代码中的语法错误

你的JS代码存在两处关键错误,即使路径正确也无法运行:

  1. 变量大小写不一致:定义的是numtries = 0,但后续使用的是numTries += 1,大小写不匹配会导致变量未定义错误。
  2. return语句位置错误:return correct;写在了checkGuess函数的外部,应该放在函数内部。

修正后的JS代码:

function runGame() {
  let guessString = '';
  let guessNumber = 0;
  let correct = false;
  let numTries = 0; // 统一变量名大小写
  const randomNumber = Math.random() * 100;
  const randomInteger = Math.floor(randomNumber);
  const target = randomInteger + 1;

  do {
    guessString = prompt('I am thinking of a number in the range 1 to 100.\nWhat is the number?');
    guessNumber = +guessString;
    numTries += 1;
    correct = checkGuess(guessNumber, target);
  } while (!correct);

  alert(`You got it! The number was ${target}.\nIt took you ${numTries} tries to guess correctly.`);
}

function checkGuess(guessNumber, target){
  let correct = false;
  if (isNaN(guessNumber)) {
    alert('You have not entered a number.\nPlease enter a number in the 1-100 range.');
  } else if ((guessNumber < 1) || (guessNumber > 100)) {
    alert('Please enter an integer in the 1-100 range.');
  } else if (guessNumber > target) {
    alert('Your number is too large!');
  } else if (guessNumber < target) {
    alert('Your number is too small!');
  } else {
    correct = true;
  }
  return correct; // 将return移到函数内部
}

三、验证运行

在VS Code中安装并启用Live Server插件,右键点击HTML文件选择Open with Live Server,这样会以本地服务器的方式打开页面,确保路径解析正确。

内容的提问来源于stack exchange,提问作者hurricane42

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 07:15:49