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代码存在两处关键错误,即使路径正确也无法运行:
- 变量大小写不一致:定义的是
numtries = 0,但后续使用的是numTries += 1,大小写不匹配会导致变量未定义错误。 - 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
相关产品推荐
相关产品推荐

