我有一个Angular 7项目,其中添加了PWA功能。 我基本上将所有与PWA相关的设置都设置为默认设置。
我的问题是,在将项目部署到服务器时,离线模式不起作用。在本地主机上启动服务器时,它也不起作用。
但是,当使用npm模块http-server
在本地主机上托管应用程序时,脱机模式有效。
在线应用服务工作者:
这是离线加载应用程序时发生的情况:
我的Node.Js服务器的代码如下:
require('module-alias/register')
const express = require('express')
const app = express()
const prod = require('@root/prod')
const port = process.env.PORT || 3000
const path = require('path')
const compression = require('compression')
app.use(compression())
const bodyParser = require('body-parser')
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: true }))
app.use(express.static(path.join(__dirname, '../client/dist/client')));
const api = require('@root/api/api.routes')
app.use('/api', api)
app.get('*', (req, res) => {
res.status(200).sendFile(path.join(__dirname, '../client/dist/client/index.html'))
})
app.use(function (err, req, res, next) {
console.log('error occured', err.stack);
res.status(500).send({ "Error": err.stack });
});
app.listen(port, () => {
console.log(`• • •`)
console.log(`• Server launched on port`, port)
console.log(`• Server running in ${prod ? ' production' : ' development'} mode`)
console.log(`• • •`)
})
这是生产版本中的所有文件: