Я устанавливаю angular universal в iis, решение отлично работает локально, при развертывании я получаю Uncaught SyntaxError: неожиданный токен <.проблема из-за express.static, я не могу понять путь правильно.</p>
фрагмент из server.js:
var app = express();
var PORT = process.env.PORT || 5618;
var DIST_FOLDER = path_1.join(process.cwd(), 'ClientApp/dist/browser');
app.set('view engine', 'html');
app.set('views', DIST_FOLDER);
// Example Express Rest API endpoints
// app.get('/api/**', (req, res) => { });
// Serve static files from /browser
app.get(express.static(path.join(DIST_FOLDER), {
maxAge: '1y'
}));
// All regular routes use the Universal engine
app.get('*', function (req, res) {
res.render('index', { req: req });
});
примечание: мое приложение работает (без предварительной обработки) нормально, когда я удаляю перезапись из web.config. Вот моя веб-конфигурация:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
<add name="iisnode" path="server.js" verb="*" modules="iisnode" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\Coiner.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
<rewrite>
<rules>
<rule name="myapp">
<match url="/*" />
<action type="Rewrite" url="server.js" />
</rule>
</rules>
</rewrite>
</system.webServer>
</location>
</configuration>
<!--ProjectGuid: e64f9183-0a19-41c8-9f3a-9d8c5377915b-->
вот структура моего приложения:
- server.js
- web.config
- ClientApp / dist / browser / index.html
- ClientApp / dist / browser / assets / images, js, i18n