样式和 javascript 文件不适用于在 Node.js 中提供 HTML 的页面

阿洛克·博尔卡

我目前正在为引用 style.css 和 index.js 的 HTML 页面提供服务,但是,即使我明确声明在“req”请求时包含它们,这些文件也没有应用于 HTML 页面?

我的 HTML(显示包含):

<!DOCTYPE html>
<html>
  <head>
      <meta charset="utf-8">
      <title>Test site</title>

      <link rel="stylesheet" href="/style.css" media="screen">

      <script src="/index.js" charset="utf-8" defer></script>

      .
      .
      .

我的 server.js 代码:

var PORT = 3000;
var http = require('http');
var fs = require('fs');
var path = require('path');

//cache the files
var index = fs.readFileSync('public/index.html', 'utf8', function read(err, data) {
    if (err) {
        throw err;
    }
});
var style = fs.readFileSync('public/style.css', 'utf8', function read(err, data) {
    if (err) {
        throw err;
    }
});
var indexJS = fs.readFileSync('public/index.js', 'utf8', function read(err, data) {
    if (err) {
        throw err;
    }
});

function requestHandler(req, res){
    res.setHeader('Content-Type', 'text/html');
    res.statusCode = 200
    res.write(index);
    if(req.url === '/style.css'){
        res.write(style);
    }
    if(req.url === '/index.js'){
        res.write(indexJS);
    }
    res.end();
}

//use 3000 by default if PORT is not defined
if(!(typeof PORT !== 'undefined') || PORT === null){
    http.createServer(requestHandler).listen(PORT);
}
else{
    http.createServer(requestHandler).listen(3000);
}
JJ Xu

看起来您的想法是正确的,但在服务器代码中有几件事需要注意。

设置Content Type标题会告诉 Web 浏览器如何解释它正在接收的文件。您的服务器代码始终将其设置为“text/html”,对于 css 应将其设置为“text/css”,对于 js 文件应设置为“text/javascript”。

res.write将文件内容附加到响应中。由于res.write(index)在每个请求上都执行,因此您的 HTML 将在同一文件中的 css/js 之前发送。尝试对 HTML 使用条件,就像对 CSS/JS 一样

if(req.url === '/') {
  res.setHeader('Content-Type', 'text/html');
  res.write(index);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

POST 不适用于 Node.JS 和 Express

来自分类Dev

悬停不适用于Javascript,CSS和HTML

来自分类Dev

文件下载不适用于Node.js gridfs

来自分类Dev

jquery 只适用于 html 文件,而不适用于单独的 script.js 文件

来自分类Dev

CSS不适用于使用JS脚本动态添加到页面中的HTML内容

来自分类Dev

javascript仅适用于<script>标记,不适用于js文件

来自分类Dev

如何修改在node.js中提供的页面

来自分类Dev

HTML 和 JavaScript 代码适用于在线 HTML 编辑器,但不适用于本地机器

来自分类Dev

HTML,JS基本脚本不适用于Google Chrome,但适用于Mozilla和Microsoft Edge

来自分类Dev

Node.js核心模块fs不适用于webpack和angular2 cli

来自分类Dev

使用Node JS / Express提供包含图片的静态HTML页面

来自分类Dev

Node.js-读取CSV文件不适用于行号> 500

来自分类Dev

socket.io不适用于静态文件路由node.js

来自分类Dev

sendRedirect不适用于jsp,但适用于html页面

来自分类Dev

RouteChangeStart和RouteChangeSuccess事件不适用于页面加载

来自分类Dev

RouteChangeStart和RouteChangeSuccess事件不适用于页面加载

来自分类Dev

html head js 文件不适用于动态引导模式

来自分类Dev

用于将文件分成目录、反向排序和打印 HTML 文件的 Bash 脚本适用于某些文件但不适用于其他文件

来自分类Dev

在ASP.NET MVC中,从项目目录外的目录中提供js html和css文件

来自分类Dev

Node.js Express渲染不适用于EJS

来自分类Dev

$lookup 不适用于 Node.js 中的 $match

来自分类Dev

Jade 语法不适用于 pug : Node Js

来自分类Dev

javascript样式不适用于分割的字符串

来自分类Dev

sql 查询不适用于 node.js mysql 但适用于终端

来自分类Dev

简单文件上传不适用于 Vue.js 和 Flask 框架

来自分类Dev

JS元素属性设置不适用于HTML 5

来自分类Dev

Javascript Diff算法不适用于HTML代码

来自分类Dev

HTML模板不适用于For-In循环JavaScript

来自分类Dev

Javascript函数不适用于html5 + Flask

Related 相关文章

  1. 1

    POST 不适用于 Node.JS 和 Express

  2. 2

    悬停不适用于Javascript,CSS和HTML

  3. 3

    文件下载不适用于Node.js gridfs

  4. 4

    jquery 只适用于 html 文件,而不适用于单独的 script.js 文件

  5. 5

    CSS不适用于使用JS脚本动态添加到页面中的HTML内容

  6. 6

    javascript仅适用于<script>标记,不适用于js文件

  7. 7

    如何修改在node.js中提供的页面

  8. 8

    HTML 和 JavaScript 代码适用于在线 HTML 编辑器,但不适用于本地机器

  9. 9

    HTML,JS基本脚本不适用于Google Chrome,但适用于Mozilla和Microsoft Edge

  10. 10

    Node.js核心模块fs不适用于webpack和angular2 cli

  11. 11

    使用Node JS / Express提供包含图片的静态HTML页面

  12. 12

    Node.js-读取CSV文件不适用于行号> 500

  13. 13

    socket.io不适用于静态文件路由node.js

  14. 14

    sendRedirect不适用于jsp,但适用于html页面

  15. 15

    RouteChangeStart和RouteChangeSuccess事件不适用于页面加载

  16. 16

    RouteChangeStart和RouteChangeSuccess事件不适用于页面加载

  17. 17

    html head js 文件不适用于动态引导模式

  18. 18

    用于将文件分成目录、反向排序和打印 HTML 文件的 Bash 脚本适用于某些文件但不适用于其他文件

  19. 19

    在ASP.NET MVC中,从项目目录外的目录中提供js html和css文件

  20. 20

    Node.js Express渲染不适用于EJS

  21. 21

    $lookup 不适用于 Node.js 中的 $match

  22. 22

    Jade 语法不适用于 pug : Node Js

  23. 23

    javascript样式不适用于分割的字符串

  24. 24

    sql 查询不适用于 node.js mysql 但适用于终端

  25. 25

    简单文件上传不适用于 Vue.js 和 Flask 框架

  26. 26

    JS元素属性设置不适用于HTML 5

  27. 27

    Javascript Diff算法不适用于HTML代码

  28. 28

    HTML模板不适用于For-In循环JavaScript

  29. 29

    Javascript函数不适用于html5 + Flask

热门标签

归档