ant-design / ant-design-pro

👨🏻‍💻👩🏻‍💻 Use Ant Design like a Pro!
https://pro.ant.design
MIT License
36.35k stars 8.14k forks source link

TypeError: Cannot read property 'compilation' of undefined #4107

Closed wsf1214 closed 5 years ago

wsf1214 commented 5 years ago

image

cnpm run start时会报错。

检查发现 and-design-pro@2.3.1->webpack@3.3.0 这里面的webpack版本是3.x, and-design-pro@2.3.1->umi@2.4.4->umi-build-dev@1.8.3->webpack@4.28.4 这里面的webpack版本是4.x

node版本 8.11.3

不知道是不是因为这个才报错的错。

package.json

{ "name": "ant-design-pro", "version": "0.3.1", "description": "An out-of-box UI solution for enterprise applications", "private": true, "scripts": { "precommit": "npm run lint-staged", "start": "cross-env ESLINT=none PORT=5555 roadhog dev", "start:no-proxy": "cross-env NO_PROXY=true ESLINT=none roadhog dev", "build": "cross-env ESLINT=none NODE_ENV=production roadhog build", "site": "roadhog-api-doc static && gh-pages -d dist", "analyze": "roadhog build --analyze", "lint:style": "stylelint \"src//*.less\" --syntax less", "lint": "eslint --ext .js src mock tests && npm run lint:style", "lint:fix": "eslint --fix --ext .js src mock tests && npm run lint:style", "lint-staged": "lint-staged", "lint-staged:js": "eslint --ext .js", "test": "jest", "test:comps": "jest ./src/components", "test:all": "node ./tests/run-tests.js" }, "dependencies": { "@antv/data-set": "^0.8.0", "@antv/g6": "^1.2.8", "@antv/g6-plugins": "^1.0.9", "@babel/polyfill": "^7.0.0-beta.36", "ali-oss": "^5.0.0", "ant-design-pro": "^2.3.1", "antd": "^3.4.1", "babel-plugin-transform-remove-console": "^6.9.0", "babel-runtime": "^6.9.2", "classnames": "^2.2.5", "co": "^4.6.0", "compression-webpack-plugin": "^1.1.10", "dependency-inject": "^1.1.6", "dob": "^2.5.9", "dob-react": "^2.4.15", "dragact": "^0.2.8", "dva": "^2.1.0", "dva-core": "^1.3.0", "echarts": "^4.0.4", "element-class": "^0.2.2", "enquire-js": "^0.1.1", "fastclick": "^1.0.6", "flex.css": "^1.1.7", "gaea-render": "^1.0.15", "history": "^4.7.2", "lodash": "^4.17.4", "lodash-decorators": "^4.4.1", "lz-string": "^1.4.4", "maptalks": "^0.40.2", "md5": "^2.2.1", "moment": "^2.19.1", "prop-types": "^15.5.10", "rc-drawer-menu": "^0.5.0", "re-resizable": "^4.4.7", "react": "^16.2.0", "react-ace": "^5.9.0", "react-amap": "^1.2.0", "react-anything-sortable": "^1.7.3", "react-bmap": "^1.0.69", "react-color": "^2.14.1", "react-container-query": "^0.9.1", "react-dock": "^0.2.4", "react-document-title": "^2.0.3", "react-dom": "^16.2.0", "react-draggable": "^3.0.5", "react-grid-layout": "^0.16.6", "react-grid-layout-grafana": "^0.16.4", "react-redux": "^5.0.7", "react-rnd": "^7.4.0", "react-sizeme": "^2.4.2", "screenfull": "^3.3.2", "sortablejs": "^1.7.0", "styled-components": "^3.3.2", "xlsx": "^0.14.1" }, "devDependencies": { "@babel/preset-env": "^7.0.0-beta.36", "@babel/preset-react": "^7.0.0-beta.36", "babel-core": "^7.0.0-bridge.0", "babel-eslint": "^8.1.2", "babel-jest": "^22.0.4", "babel-plugin-dva-hmr": "^0.4.1", "babel-plugin-import": "^1.6.3", "babel-plugin-transform-class-properties": "^6.24.1", "babel-plugin-transform-decorators-legacy": "^1.3.4", "babel-plugin-transform-remove-console": "^6.9.0", "compression-webpack-plugin": "^1.1.11", "cross-env": "^5.1.1", "cross-port-killer": "^1.0.1", "enzyme": "^3.1.0", "enzyme-adapter-react-16": "^1.0.2", "eslint": "^4.14.0", "eslint-config-airbnb": "^16.0.0", "eslint-plugin-babel": "^4.0.0", "eslint-plugin-compat": "^2.1.0", "eslint-plugin-import": "^2.8.0", "eslint-plugin-jsx-a11y": "^6.0.3", "eslint-plugin-markdown": "^1.0.0-beta.6", "eslint-plugin-react": "^7.0.1", "gh-pages": "^1.0.0", "husky": "^0.14.3", "jest": "^22.0.4", "jsdom": "^11.5.1", "lint-staged": "^6.0.0", "mockjs": "^1.0.1-beta3", "pro-download": "^1.0.1", "react-test-renderer": "^16.2.0", "redbox-react": "^1.5.0", "regenerator-runtime": "^0.11.1", "roadhog": "^2.5.0-beta.4", "roadhog-api-doc": "^0.3.4", "rollbar": "^2.3.4", "stylelint": "^8.4.0", "stylelint-config-standard": "^18.0.0", "webpack-bundle-analyzer": "^2.11.1" }, "optionalDependencies": { "nightmare": "^2.10.0" }, "babel": { "presets": [ "@babel/preset-env", "@babel/preset-react" ], "plugins": [ "transform-decorators-legacy", "transform-class-properties" ] }, "jest": { "setupFiles": [ "/tests/setupTests.js" ], "testMatch": [ "*/?(.)(spec|test|e2e).js?(x)" ], "setupTestFrameworkScriptFile": "/tests/jasmine.js", "moduleFileExtensions": [ "js", "jsx" ], "moduleNameMapper": { "\.(css|less)$": "/tests/styleMock.js" } }, "lint-staged": { "/*.{js,jsx}": "lint-staged:js", "*/.less": "stylelint --syntax less" }, "browserslist": [ "> 1%", "last 2 versions", "not ie <= 10" ] }

chenshuai2144 commented 5 years ago

ant-design-pro 的脚手架中用 ant-design-pro 的库是吗?

wsf1214 commented 5 years ago

ant-design-pro 的脚手架中用 ant-design-pro 的库是吗?

不是 使用的是roadhog脚手架,这个脚手架里面使用的webpack版本是4.x。 我想表达的意思是 ant-design-pro的库中使用的是webpack3.x,然后它使用的umi@2.4.4->umi-build-dev@1.8.3的模块里面的webpack是4.x的版本,这是不是造成运行报错的原因?

chenshuai2144 commented 5 years ago

应该不是,你没有使用 umi

wsf1214 commented 5 years ago

应该不是,你没有使用 umi

image

这个 ‘它’ 指的是ant-design-pro,它里面使用了umi。 还有就是我把package.json里面的 ant-design-pro 这个模块删除,node_modules文件夹删除之后重新cnpm install然后再cnpm run start,就不会报错。 应该是webpack3和webpack4冲突造成的问题。

chenshuai2144 commented 5 years ago

https://github.com/ant-design/pro-components 我最近搞了一个这个,如果不是非常必要,尽量不要使用 pro 的包了

wsf1214 commented 5 years ago

@chenshuai2144 我用pro也只是用他其中的几个组件,外面的架构是用的我们自己的,那如果用你的这个的话,要怎么用呢?cnpm上现在有吗?

wsf1214 commented 5 years ago

@chenshuai2144

image import { ChartCard, Field, MiniArea, MiniBar, MiniProgress } from 'ant-design-pro/lib/Charts';

比如我现在要使用这些组件,但是刚才这个里面完全没有

chenshuai2144 commented 5 years ago

你可以把 Charts拷贝到本地

wsf1214 commented 5 years ago

你可以把 Charts拷贝到本地

我看了下 npm上的 @ant-design/pro-layout 这个包,里面基本上都是ant-design-pro里面的布局组件。但是我现在项目里面没有用到的ant-design-pro的布局组件,所以这个包对我来说基本上用不到,还是需要用到ant-design-pro这个包,你说的那个把Charts拷贝到本地的方法也不太现实。

chenshuai2144 commented 5 years ago

你说的那个把 Charts 拷贝到本地的方法也不太现实。

为什么呢? 发布新的包暂时可能来不及

wsf1214 commented 5 years ago

你说的那个把 Charts 拷贝到本地的方法也不太现实。

为什么呢? 发布新的包暂时可能来不及

如果这是临时解决方案的话倒是还可以

chenshuai2144 commented 5 years ago

试试最新的 ant-design-pro@2.3.2 包