gpt4 book ai didi

javascript - 语法错误 : illegal character is thrown only in firefox when serving the files with gzip

转载 作者:行者123 更新时间:2023-11-29 17:46:48 24 4
gpt4 key购买 nike

我使用 webpack 通过压缩插件将我的应用程序打包到 bundle.gzip。

new CompressionPlugin({
asset: '[path].gz[query]',
algorithm: 'gzip',
test: /\.js$|\.css$|\.html$/,
threshold: 10240,
minRatio: 0.8,
}),

然后我有一个快速服务器,可以为 web pack 捆绑的所有内容提供服务,并且我将内容编码添加到响应中。

const path = require('path')
const express = require('express')

const app = express()
const server = require('http').createServer(app)

app.get('*.js', (req, res, next) => {
req.url = `${req.url}.gz`
res.set('Content-Encoding', 'gzip')
next()
})

app.use(express.static(path.resolve(__dirname, 'dist')))
app.get('*', (req, res) => {
res.sendFile(path.join(__dirname, 'dist/index.html'))
})
// eslint-disable-next-line
console.log("Server listening on port 8500")
server.listen(8500)

这在除 firefox 之外的所有浏览器中都运行良好,当我打开控制台时会看到它。

enter image description here

可能是什么问题我认为问题与内容编码有关

最佳答案

您需要为响应设置Content-Type

// For JS
app.get('*.js', function(req, res, next) {
req.url = req.url + '.gz';
res.set('Content-Encoding', 'gzip');
res.set('Content-Type', 'text/javascript');
next();
});

// For CSS
app.get('*.css', function(req, res, next) {
req.url = req.url + '.gz';
res.set('Content-Encoding', 'gzip');
res.set('Content-Type', 'text/css');
next();
});

关于javascript - 语法错误 : illegal character is thrown only in firefox when serving the files with gzip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48663227/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com