基本的JS脚本不想在HTML文件中加载

时间:2018-09-17 22:11:46

标签: javascript html node.js

我正在尝试使最基本的东西能够工作,并且无法弄清楚我在做什么错。

我的html文件:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <script type="text/javascript" src="script.js"></script>
  <title>This Is Just a Dummy App</title>
</head>
<body>

  <button onclick="makeAlert()">Click here</button>

</body>

</html>

script.js,它与HTML文件位于同一目录中

const makeAlert = () => { alert('Hey hey') };

该页面不希望加载,请勿加载周期,并且浏览器控制台中没有错误。

更新

这是Node.js应用程序的一部分,没有Express或任何东西,这是它配置为加载HTML的方式。我不知道这是否是一个因素。

const http = require('http');
const fs = require('fs');

const hostname = '127.0.0.1';
const port = 3001;

const server = http.createServer((req, res) => {
  const url = req.url;

  if(url === '/') {
    res.writeHead(200, {
      'Content-Type': 'text/html'
    });
    fs.readFile('./index.html', null, function (err, data) {
      if (err) {
        res.writeHead(404);
        res.write('something went wrong');
      } else {
        res.write(data)
      }
      res.end();
    })
  }
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
}); 

1 个答案:

答案 0 :(得分:0)

从片段中可以正常运行,您是要从服务器还是仅从文件系统运行它?一些浏览器不喜欢从文件系统运行脚本。获取开发Web服务器。

const makeAlert = () => { alert('Hey hey') };
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>This Is Just a Dummy App</title>
</head>
<body>

  <button onclick="makeAlert()">Click here</button>

</body>

</html>