问题描述:
在使用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------
相关资料:
【2】缓存问题相关;