如何在express.js中为html提供服务,该html从服务器引用js文件并在客户端运行它?

时间:2019-04-29 15:56:16

标签: javascript html node.js express

我正在尝试编写最简单的服务器,该服务器使用客户端脚本为html页面提供服务。

已经基于http://expressjs.com/en/starter/static-files.html进行了尝试, Using express.js to serve html file along with scripts, css, and imagesHow to load JS file in html using express server,但我还是不明白。

我正在使用的文件结构:

node_modules
resources
resources/page.html
resources/script.js
index.js
package.json

index.js:

const express = require('express');
const app = express();
const port = 3000;
const path = require('path');

app.use(express.static(__dirname + '/resources'));

app.get('/', (req, res) => {
  res.sendFile(path.join(__dirname , 'resources', 'page.html'));
});

app.listen(port, () => console.log(`Example app listening on port ${port}!`));

page.html:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>title</title>
  </head>
  <body>
    Content
  </body>
  <script scr="script.js"></script>
</html>

script.js:

var i = 0;

setInterval(() => {
  if (i < 10) {
    console.log(i);
    i++;
  }
}, 100);

我输入了google chrome浏览器地址localhost:3000/,并且页面已成功加载(显示“ Content”字符串),但是脚本script.js未运行(空控制台)。我希望浏览器能够在加载page.html时检索script.js文件并打印数字以进行控制台。

1 个答案:

答案 0 :(得分:0)

scr文件中,将脚本标签中的属性src更改为library(dplyr) # Create dummy data df <- data.frame(matrix(rnorm(10), ncol = 2)) df <- cbind(c("blah", "blah", "meh", "meh", "meh"), df) colnames(df) <- c("grouping_variable", "some_var", "some_other_var") # Group by 1 variable & summarise on rest df %>% group_by(grouping_variable) %>% summarise_all(sum) ,它将起作用。