首页 > 解决方案 > 生产模式下 webpack 捆绑的 Swagger UI Express 插件问题

问题描述

我在我的节点REST API中包含swagger-ui-express了插件。express在生产模式下捆绑时webpack,我收到SwaggerUIBundle未定义的错误。没有webpack我的应用程序工作正常。webpack有人可以帮我配置swagger-ui-express

堆栈跟踪错误消息

标签: node.jsexpresswebpackswagger

解决方案


基本上,关于swagger-ui-express. _ Webpack所以仍然没有官方修复它。对于解决方法,我们将 的dist工件包含swagger-ui-express到我们的构建工件(由 完成webpack)中,并将其与我们的server.js(或您的主文件)一起部署。

你需要安装CopyWebpackPlugin

npm install copy-webpack-plugin --save-dev

并将此配置包含到您的webpack.config

node: {
    __dirname: false
},
plugins: [
    new CopyWebpackPlugin({
        patterns: [
            './node_modules/swagger-ui-dist/swagger-ui.css',
            './node_modules/swagger-ui-dist/swagger-ui-bundle.js',
            './node_modules/swagger-ui-dist/swagger-ui-standalone-preset.js',
            './node_modules/swagger-ui-dist/favicon-16x16.png',
            './node_modules/swagger-ui-dist/favicon-32x32.png'
        ]
    })
]

推荐阅读