gpt4 book ai didi

node.js - 我的 node.js Web 应用无法识别我的 manifest.json

转载 作者:行者123 更新时间:2023-12-03 12:18:44 36 4
gpt4 key购买 nike

我正在使用 node.js、express.js 和 Handlebars 构建一个 Web 应用程序。我的网络应用程序正在运行,现在我想把它变成一个 PWA,所以我写了 manifest.json 是这样的:

{
"name": "Talleres Online",
"short_name": "Talleres Online",
"start_url": "./?utm_source=web_app_manifest",
"display": "standalone",
"background_color": "#44d1c8",
"theme_color": "#55bddc",
"orientation": "portrait",
"description": "Lleva el control de tu taller a donde vayas, con Talleres Online puedes gestionar el funcionamiento de tu taller mecánico ¡desde cualquier dispositivo!",
"lang": "es-MX",
"icons": [{
"src": "icons/icon-32x32.png",
"sizes": "32x32",
"type": "image/png"
}, {
"src": "icons/icon-64x64.png",
"sizes": "64x64",
"type": "image/png"
}, {
"src": "icons/icon-128x128.png",
"sizes": "128x128",
"type": "image/png"
}, {
"src": "icons/icon-144x144.png",
"sizes": "144x144",
"type": "image/png"
}, {
"src": "icons/icon-152x152.png",
"sizes": "152x152",
"type": "image/png"
}, {
"src": "icons/icon-192x192.png",
"sizes": "192x192",
"type": "image/png"
}, {
"src": "icons/icon-256x256.png",
"sizes": "256x256",
"type": "image/png"
}, {
"src": "icons/icon-512x512.png",
"sizes": "512x512",
"type": "image/png"
}, {
"src": "icons/icon-1024x1024.png",
"sizes": "1024x1024",
"type": "image/png"
}]
}

当我尝试在 devtools 上查找 list 信息时,似乎没有 manifest.json,查看控制台时显示以下错误:

Failed to load resource: the server responded with a status of 404 (Not Found) manifest.json:1

Manifest: Line: 1, column: 1, Syntax error. manifest.json:1

GET http://localhost:3000/manifest.json 404 (Not Found) manifest.json:1

Manifest: Line: 1, column: 1, Syntax error.



使用 Handlebars ,我有一个 main.hbs 文件,其中包含 HTML 的 head 标记,而 body 标记引用其他 .hbs 文件来构建站点,在这个 main.hbs 文件中,我放置了引用 list 文件.json。

我已将 manifest.json 放在应用程序的根目录中(就在 node_modules 文件夹的一侧),在/src 文件夹和/public 文件夹中,但它们都不起作用,我还为/manifest 连接了一个路由。 json 请求到 manifest.json 文件,但它只是将错误从 404 更改为 500。

请问有什么帮助吗?
非常感谢,很抱歉这篇长文章和糟糕的英语。

const express = require('express');
const morgan = require('morgan');
const exphbs = require('express-handlebars');
const path = require('path');
const flash = require('connect-flash');
const session = require('express-session');
const MySqlStore = require('express-mysql-session');
const passport = require('passport');

const { database } = require('./keys');

//Inicializaciones

const app = express();
require('./lib/passport');

//Configuraciones

app.set('port', process.env.PORT || 3000);
app.set('views', path.join(__dirname, 'views'));
app.engine('.hbs', exphbs({
defaultLayout: 'main',
layoutsDir: path.join(app.get('views'), 'layouts'),
partialsDir: path.join(app.get('views'), 'partials'),
extname: '.hbs',
helpers: require('./lib/handlebars')
}));
app.set('view engine', '.hbs');

//Middlewares

app.use(session({
secret: 'carhelpmysqlsession',
resave: 'false',
saveUninitialized: 'false',
store: new MySqlStore(database)
}));
app.use(flash());
app.use(morgan('dev'));
app.use(express.urlencoded({extends: false}));
app.use(express.json());
app.use(passport.initialize());
app.use(passport.session());

//Variables Globales

app.use((req, res, next) => {
app.locals.success = req.flash('success');
app.locals.message = req.flash('message');
app.locals.user = req.user;
next();
});

//Rutas

app.use(require('./routes/index.js'));
app.use(require('./routes/authentication.js'));
app.use(require('./routes/carhelp.js'));
app.use(require('./routes/estados.js'));



// Public
app.use(express.static(path.join(__dirname, 'public')));

//Inicializar Servidor

app.listen(app.get('port'), () => {
console.log('Server on port', app.get('port'));
});


问题解决了,但这里是我的快速配置,如果其他人有同样的问题可以轻松解决。

最佳答案

所以它说syntax error .

我想看看你的 list json 文件格式是否正确。在代码段中,我看到一个缺失的 {左括号,复制时可能会出现问题。您可以尝试像 this one 这样的 JSON 验证器或者您可以使用 this验证您的 list 文件。

如果一切正确,您就可以清除浏览器缓存。

希望这对你有帮助。

更新:
manifest.json应该在 static/public从中提供静态文件并将其用作 express 中的静态文件的文件夹。

关于node.js - 我的 node.js Web 应用无法识别我的 manifest.json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59943549/

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