node学习---web项目部署到node服务端样式不生效的问题

问题描述:

在使用node进行服务端开发时,当把打包好的web项目部署到服务端时,css样式没有生效;

解决方案:

查阅了相关资料发现是在配置在处理html乱码时没有过滤掉静态资源;

所以只要设置静态资源不进行乱码处理就好。

 1 const fs = require("fs");
 2 const path = require("path");
 3 /**
 4  * @function handleGetRequest
 5  * @description 处理get响应数据的函数
 6  * @param {string[]} path 当前文件的路径字符串
 7  * @param {http.ServerResponse} res 响应对象
 8  * @param {boolean} isStatic 是否为静态资源
 9  * @param {object} responseHeadConfig 响应头配置对象
10  */
11 function handleGetRequest(
12   filePath = [],
13   res,
14   isStatic = false,
15   responseHeadConfig = {}
16 ) {
17   fs.readFile(path.join(__dirname, ...filePath), (err, data) => {
18     if (err) throw err;
19     // 如果是静态资源,则不进行乱码处理,直接返回
20     if (isStatic) {
21       res.end(data);
22       return;
23     }
24     res.writeHead(200, {
25       "Content-Type": "text/html;charset=utf-8", // 解决html文件乱码问题
26       ...responseHeadConfig
27     });
28     res.end(data);
29   });
30 }

有些情况可能是缓存的问题,这里不做描述;

-----end------

相关资料:

【1】web项目部署到服务器后样式丢失的问题

【2】缓存问题相关

node学习---web项目部署到node服务端样式不生效的问题

上一篇:小技巧


下一篇:autoresizingMask的用法