Node.js Can';在构建next.js应用程序时,不要从“重新组合”导入类型HOC

Node.js Can';在构建next.js应用程序时,不要从“重新组合”导入类型HOC,node.js,reactjs,webpack,next.js,Node.js,Reactjs,Webpack,Next.js,我们有这个nextjs应用程序,在开发模式下一切都运行良好。然而,在构建应用程序时,我们偶然发现了这个错误 Module '"recompose"' has no exported member 'HOC'. 我们尝试了两种导入方式,如下所示: import type { HOC } from 'recompose'; import { type HOC } from 'recompose'; 就像这样: import type { HOC } from 'recomp

我们有这个nextjs应用程序,在开发模式下一切都运行良好。然而,在构建应用程序时,我们偶然发现了这个错误

Module '"recompose"' has no exported member 'HOC'.
我们尝试了两种导入方式,如下所示:

import type { HOC } from 'recompose';
import { type HOC } from 'recompose';
就像这样:

import type { HOC } from 'recompose';
import { type HOC } from 'recompose';
以下是我们的packages.json:

{
  "name": "##############",
  "description": "#######",
  "version": "1.0.0",
  "repository": "",
  "author": "#########",
  "scripts": {
    "start:dev": "nodemon",
    "build": "next build && tsc --project tsconfig.server.json",
    "start": "cross-env NODE_ENV=production node dist/index.js",
    "test": "jest --coverage",
    "lint": "eslint './{src,pages,server}/**/*' --ext .tsx,.ts",
    "pretty": "prettier --write --config .prettierrc.json {src,pages,server}/**/*.{ts,tsx}",
    "format": "npm run lint -- --fix",
    "analyze": "cross-env BUNDLE_ANALYZE=both npm run build",
    "export": "cross-env NODE_ENV=production next export",
    "cli": "pankod-cli add",
    "storybook": "start-storybook -s ./public/static -p 6006",
    "build-storybook": "build-storybook -s ./public/static  -c .storybook -o .storybookout"
  },
  "dependencies": {
    "@next/bundle-analyzer": "^9.4.4",
    "@react-keycloak/nextjs": "^2.0.0-beta.9",
    "@zeit/next-css": "^1.0.1",
    "@zeit/next-sass": "^1.0.1",
    "autoprefixer": "^9.6.1",
    "bootstrap": "^4.4.1",
    "cookie": "^0.4.1",
    "cross-env": "^5.2.1",
    "dotenv": "^8.1.0",
    "express": "^4.17.1",
    "http-proxy-middleware": "^0.20.0",
    "isomorphic-unfetch": "^3.0.0",
    "keycloak-js": "^11.0.0",
    "next": "^9.3.4",
    "next-compose-plugins": "^2.2.0",
    "next-i18next": "^4.2.1",
    "next-redux-wrapper": "^3.0.0",
    "next-routes": "^1.4.2",
    "next-runtime-dotenv": "^1.2.0",
    "node-fetch": "^2.6.0",
    "node-sass": "^4.14.0",
    "query-string": "^6.8.3",
    "react": "^16.13.1",
    "react-dom": "^16.13.1",
    "react-redux": "^7.1.1",
    "react-virtualized": "^9.21.2",
    "redux": "^4.0.4",
    "redux-thunk": "^2.3.0",
    "spotify-web-api-node": "^4.0.0",
    "styled-components": "^4.3.2"
  },
  "devDependencies": {
    "@babel/core": "^7.6.0",
    "@pankod/pankod-cli": "^1.0.0",
    "@storybook/addon-actions": "^5.3.18",
    "@storybook/addon-knobs": "^5.3.18",
    "@storybook/addon-links": "^5.3.18",
    "@storybook/addon-storysource": "^5.3.18",
    "@storybook/addon-viewport": "^5.3.18",
    "@storybook/addons": "^5.3.18",
    "@storybook/preset-typescript": "^3.0.0",
    "@storybook/react": "^5.3.18",
    "@storybook/source-loader": "^5.3.18",
    "@testing-library/jest-dom": "^5.5.0",
    "@testing-library/react": "^10.0.4",
    "@types/cookie": "^0.4.0",
    "@types/dotenv": "^6.1.1",
    "@types/express": "^4.17.1",
    "@types/jest": "^24.0.18",
    "@types/next-redux-wrapper": "^2.0.2",
    "@types/nock": "^10.0.3",
    "@types/node": "^12.7.5",
    "@types/react": "^16.9.2",
    "@types/react-redux": "^7.1.2",
    "@types/react-virtualized": "^9.21.10",
    "@types/recompose": "^0.30.7",
    "@types/redux-mock-store": "^1.0.1",
    "@types/styled-components": "^4.1.19",
    "@types/testing-library__react": "^10.0.1",
    "@typescript-eslint/eslint-plugin": "^2.3.0",
    "@typescript-eslint/parser": "^2.30.0",
    "babel-eslint": "10.x",
    "babel-jest": "^25.5.1",
    "babel-loader": "^8.1.0",
    "babel-plugin-lodash": "^3.3.4",
    "babel-plugin-module-resolver": "^3.2.0",
    "babel-plugin-styled-components": "^1.10.6",
    "babel-preset-react-app": "^9.1.2",
    "css-loader": "^3.5.1",
    "eslint": "^6.8.0",
    "eslint-config-airbnb": "^18.0.1",
    "eslint-config-airbnb-base": "^14.0.0",
    "eslint-config-airbnb-typescript": "^4.0.1",
    "eslint-config-prettier": "^6.3.0",
    "eslint-config-react-app": "^5.0.2",
    "eslint-import-resolver-ts": "^0.4.2",
    "eslint-import-resolver-typescript": "^1.1.1",
    "eslint-plugin-flowtype": "3.x",
    "eslint-plugin-import": "^2.20.2",
    "eslint-plugin-jest-dom": "^2.1.0",
    "eslint-plugin-jsx-a11y": "6.x",
    "eslint-plugin-prettier": "^3.1.1",
    "eslint-plugin-react": "7.x",
    "eslint-plugin-react-hooks": "1.x",
    "fork-ts-checker-webpack-plugin": "^4.1.2",
    "jest": "^25.5.3",
    "jest-styled-components": "^6.3.4",
    "nock": "^11.3.5",
    "nodemon": "^2.0.3",
    "prettier": "^1.19.1",
    "recompose": "^0.30.0",
    "redux-devtools-extension": "^2.13.8",
    "redux-mock-store": "^1.5.3",
    "sass-loader": "^8.0.2",
    "storybook-addon-styled-component-theme": "^1.3.0",
    "style-loader": "^1.1.3",
    "ts-jest": "^25.4.0",
    "ts-loader": "^6.2.2",
    "ts-node": "^8.4.1",
    "typescript": "^3.9.3"
  },
  "pankod": {
    "projectType": "nextjs2"
  },
  "license": "ISC"
}
这是我们的.babelrc文件

{
    "presets": ["next/babel"],
    "plugins": [
        [
            "module-resolver",
            {
                "root": ["./"],
                "alias": {
                    "@Actions": "./src/Actions",
                    "@Components": "./src/Components",
                    "@Definitions": "./src/Definitions",
                    "@Interfaces": "./src/Interfaces",
                    "@Pages": "./pages",
                    "@Reducers": "./src/Redux/Reducers",
                    "@Redux": "./src/Redux",
                    "@Services": "./src/Services",
                    "@Server": "./server",
                    "@Static": "./public/static",
                    "@Styled": "./src/Styled"
                }
            }
        ],
        [
            "babel-plugin-styled-components",
            {
                "ssr": true
            }
        ]
        //["lodash", { "id": ["lodash", "recompose"] }]
    ]
}
请注意,我已经尝试使用和不使用lodash插件构建捆绑包