angular - 我可以在 Angular CLI 应用程序中将自定义中间件添加到开发服务器吗?

标签 angular angular-cli

本质上,我想扩展 Angular CLI 的代理以启用我们组织用来支持独特身份验证模型的一些自定义 Express 中间件。

Create React App supports this通过公开 Express 应用程序实例,并让您 app.use() 您自己的中间件。

我找不到使用 Angular CLI 来支持这一点的方法。这在不弹出的情况下可行吗?

最佳答案

Angular (8+) 自定义构建器支持此功能。

特别是 custom-webpack构建器允许您使用 Webpack 的 before Hook 集成到自定义中间件中。

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"
      }

关于angular - 我可以在 Angular CLI 应用程序中将自定义中间件添加到开发服务器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53783538/

相关文章:

Windows 脚本宿主错误 : Invalid character - Code:800A03F6 - Source: Microsoft JScript compilation error

angular - ngx-翻译和 *ngFor

javascript - 让 Javascript 按值传递变量

javascript - 类型 'name' .ts(2339) 上不存在属性 'unknown'

angular - 选择 Angular2 的双向绑定(bind)

javascript - 在 Angular 的同一父路由下加载多个模块

node.js - 你似乎不依赖于 "@angular/core and/or "rxjs”。这是一个错误

angular - Angular CLI 的 Webpack 构建失败 - 意外的 token

angular - Angular 应用程序中的空注释

angular-cli - 无法在 angular-cli 项目中使用新命令