带有IIS节点的Angular Universal应用程序不能提供CSS文件
我已经构建了带有server.js和node_modules文件夹的dist和dist-server的Angular通用应用程序。
当我运行node server.js
,我可以加载应用程序,但是当我使用IIS NOde在IIS中进行部署时,我只能获取index.html,CSS和JS文件未加载。
'use strict';
require('zone.js/dist/zone-node');
require('reflect-metadata');
const express = require('express');
const ngUniversal = require('@nguniversal/express-engine');
const { provideModuleMap } = require('@nguniversal/module-map-ngfactory-loader');
const { AppServerModuleNgFactory, LAZY_MODULE_MAP } = require('./dist-server/main.bundle');
function angularRouter(req, res) {
// Only 1st time we are getting request here --1
and log will be my Virtual APP directory Name
console.log(req.url);
res.render('index', {req, res});
}
const app = express();
app.engine('html', ngUniversal.ngExpressEngine({
bootstrap: AppServerModuleNgFactory,
providers: [
provideModuleMap(LAZY_MODULE_MAP)
]
}));
app.set('view engine', 'html');
app.set('views', 'dist');
app.get('/', angularRouter);
app.use(express.static(`${__dirname}/dist`));
app.get('*', angularRouter);
app.listen(process.env.PORT, () => {
// console.log('Listening on port 3000');
});
我已经在web.config中尝试了不同的URL重写规则,但它不起作用,因为一旦index.html被加载,然后从那里所有的请求通过快递路由,所以表达我无法弄清楚如何使快递使用静态文件从IIS路由时
注意:当我运行节点server.js,即在localhost:3000上监听应用程序时,应用程序工作得很好
链接地址: http://www.djcxy.com/p/31405.html上一篇: Angular Universal app with IIS Node not serving CSS Files