当我在本地启动 Angular 离子应用程序并刷新页面(所有页面)时, 我看到这些控制台日志。
但是,当我将其部署在生产中的 PM2 上时,我的控制台日志仅出现在主页上。
我也想在内部页面上为 Facebook 动态设置元标签。
const proxyConfig = environment.production ?
require('./proxy.conf-prod.json') :
require('./proxy.conf-dev.json');
console.log(proxyConfig)
export function app(): express.Express {
const app = express();
const distFolder = join(process.cwd(), 'dist/monapp/browser');
const index = existsSync(join(distFolder, 'index.original.html')) ? 'index.original.html' : 'index';
app.engine('html', ngExpressEngine({
bootstrap: AppServerModule,
}));
const staticFolder = join(process.cwd(), 'dist/monapp/browser/assets');
app.use('/usr/share/nginx/html/dist/monapp/browser/assets', express.static(staticFolder, {
maxAge: '1y'
}));
const distFolderCustom = environment.production ? "/usr/share/nginx/html/dist/monapp/browser" : distFolder
app.set('view engine', 'html');
app.set('views', distFolderCustom);
const apiProxy = createProxyMiddleware(proxyConfig['/api']);
app.use('/api', apiProxy);
app.get('*.*', express.static(distFolder, {
maxAge: '1y'
}));
app.get('*', (req, res) => {
console.log('SSR requested for URL:', req.originalUrl);
res.render(index,
{req, providers: [{provide: APP_BASE_HREF, useValue: req.baseUrl}]},
async (err, html) => {
if (html) {
const resCheck = await checkAndAddTags(html, req.originalUrl).then();
res.send(resCheck);
} else {
res.send(html);
}
});
});
return app;
}
“我想在内部页面上查看控制台日志并刷新它们。这是关于使用基于页面的 setMetadata 设置 checkAndAddTags 。”
经过一整天的研究, 我刚刚意识到我的 nginxconf 有问题
好的配置是
location / {
proxy_pass http://127.0.0.1:4000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
不
location / {
try_files $uri $uri/ /index.html;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto https;
proxy_redirect off;
# Universal rendering configuration
proxy_pass http://127.0.0.1:4000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_cache_bypass $http_upgrade;
}