angular - 我可以在 Angular CLI 应用程序中将自定义中间件添加到开发服务器吗?
问题描述
本质上,我想扩展 Angular CLI 的代理,以启用我们组织使用的一些自定义 Express 中间件来支持独特的身份验证模型。
Create React App通过公开 Express 应用实例并让app.use()
您拥有自己的中间件来支持这一点。
我找不到使用 Angular CLI 支持这一点的方法。这在不弹出的情况下可行吗?
解决方案
Angular (8+) 自定义构建器支持此功能。
特别是,custom-webpack构建器允许您使用 Webpack 的before
钩子集成自定义中间件。
https://webpack.js.org/configuration/dev-server/#devserverbefore
例如,制作一个extra-webpack.config.js
:
module.exports = {
devServer: {
before(app, server) {
app.use(yourCustomMiddleware);
}
}
};
然后将其接线angular.json
:
"architect": {
...
"build": {
"builder": "@angular-builders/custom-webpack:browser"
"options": {
"customWebpackConfig": {
path: "./extra-webpack.config.js"
}
推荐阅读
- firebase - 如何使用 firebase 多站点托管部署 next.js webapp?
- javascript - AMD 导入 cytoscape-context-menu 时遇到问题“未捕获的 TypeError:contextMenus 不是函数”
- python - 如何优化 plt.matshow 的单元格大小
- c++ - 使用 CGAL 设置曲面网格参数化的角点
- python - 在python中捕获除特定异常之外的所有异常
- sql - 如何在选择查询中选择与max函数结果匹配的列的值
- xamarin.forms - Xamarin 表单:表情符号和特殊字符在推送通知标题和正文中未正确显示
- c++ - 通过串行读取字符串
- azure - 基于 dev、uat 和生产环境创建网关的 Istio 最佳方法是什么
- python - 无法加载需要“qt5”交互式框架的后端“Qt5Agg”,因为“无头”当前正在运行