Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error: Plugin 3 specified in "base" provided an invalid property of "Affix" #186

Closed
seamys opened this issue Oct 21, 2016 · 4 comments
Closed
Labels

Comments

@seamys
Copy link

seamys commented Oct 21, 2016

这个诡异问题一直无法确定。到底是什么问题导致的。不清楚是dvajs 的问题还是 ant-design(版本2.0)
不同的电脑相同的包配置,清除全局安装的,我的电脑可以正常编译,同事的电脑就会出现此问题。

ERROR in ./src/index.js
Module build failed: Error: Plugin 3 specified in "base" provided an invalid property of "Affix"
    at Plugin.init (D:\Git\web\console\node_modules\babel-core\lib\transformation\plugin.js:131:13)
    at Function.normalisePlugin (D:\Git\web\console\node_modules\babel-core\lib\transformation\file\options\option-manager.js:148:12)
    at D:\Git\web\console\node_modules\babel-core\lib\transformation\file\options\option-manager.js:180:30
    at Array.map (native)
    at Function.normalisePlugins (D:\Git\web\console\node_modules\babel-core\lib\transformation\file\options\option-manager.js:154:20)
    at OptionManager.mergeOptions (D:\Git\web\console\node_modules\babel-core\lib\transformation\file\options\option-manager.js:228:36)
    at OptionManager.init (D:\Git\web\console\node_modules\babel-core\lib\transformation\file\options\option-manager.js:373:12)
    at File.initOptions (D:\Git\web\console\node_modules\babel-core\lib\transformation\file\index.js:221:65)
    at new File (D:\Git\web\console\node_modules\babel-core\lib\transformation\file\index.js:141:24)
    at Pipeline.transform (D:\Git\web\console\node_modules\babel-core\lib\transformation\pipeline.js:46:16)
 @ multi index

package.json 文件依赖

{
  "private": true,
  "entry": {
    "index": "./src/index.js"
  },
  "dependencies": {
    "antd": "^2.0.0",
    "classnames": "^2.2.5",
    "dva": "^1.1.0",
    "qs": "^6.2.0",
    "react": "^15.1.0",
    "react-dnd": "^2.1.4",
    "react-dnd-html5-backend": "^2.1.2",
    "react-dom": "^15.1.0",
    "react-router": "^2.8.1",
    "react-sticky": "^5.0.5",
    "urijs": "^1.18.2"
  },
  "devDependencies": {
    "atool-build": "^0.7.6",
    "babel-eslint": "^6.0.4",
    "babel-plugin-import": "^1.0.0",
    "babel-plugin-dva-hmr": "^0.1.0",
    "babel-plugin-transform-runtime": "^6.9.0",
    "babel-runtime": "^6.9.2",
    "dora": "0.3.x",
    "dora-plugin-proxy": "^0.7.0",
    "dora-plugin-webpack": "0.6.x",
    "dora-plugin-webpack-hmr": "^0.1.0",
    "eslint": "^2.13.1",
    "eslint-config-airbnb": "^9.0.1",
    "eslint-plugin-import": "^1.8.1",
    "eslint-plugin-jsx-a11y": "^1.4.2",
    "eslint-plugin-react": "^5.1.1",
    "glob": "^7.0.5",
    "mockjs": "^1.0.1-beta2",
    "redbox-react": "^1.2.10"
  },
  "scripts": {
    "start": "dora --plugins \"proxy,webpack,webpack-hmr\"",
    "lint": "eslint --fix --ext .js,.jsx .",
    "build": "atool-build"
  }
}
@sorrycc
Copy link
Member

sorrycc commented Oct 21, 2016

删除 node_modules 重新安装试试? 不行把 webpack.config.js 贴上来看下。

@seamys
Copy link
Author

seamys commented Oct 21, 2016

谢谢,不好意思新手,项目是直接使用 user-dashboard 上修改的。

node_modules 被删除过很多次(墙里墙外都试过)。以为是nodejs版本问题(4.6 与 6.9 已经尝试过了)。

现在把package.json 里面所有相关的包都更新到了最新版本,删除node_modules 重新安装

{
  "private": true,
  "entry": {
    "index": "./src/index.js"
  },
  "dependencies": {
    "antd": "^2.1.0",
    "classnames": "^2.2.5",
    "dva": "^1.1.0",
    "qs": "^6.3.0",
    "react": "^15.3.2",
    "react-dnd": "^2.1.4",
    "react-dnd-html5-backend": "^2.1.2",
    "react-dom": "^15.3.2",
    "react-router": "^2.8.1"
  },
  "devDependencies": {
    "atool-build": "^0.9.0",
    "babel-eslint": "^7.0.0",
    "babel-plugin-import": "^1.0.1",
    "babel-plugin-dva-hmr": "^0.2.0",
    "babel-plugin-transform-runtime": "^6.15.0",
    "babel-runtime": "^6.11.6",
    "dora": "0.4.3",
    "dora-plugin-proxy": "^0.8.5",
    "dora-plugin-webpack": "^0.8.1",
    "dora-plugin-webpack-hmr": "^0.2.1",
    "eslint": "^3.8.1",
    "eslint-config-airbnb": "^12.0.0",
    "eslint-plugin-import": "^1.16.0",
    "eslint-plugin-jsx-a11y": "^2.2.3",
    "eslint-plugin-react": "^6.4.1 ",
    "redbox-react": "^1.3.2"
  },
  "scripts": {
    "start": "dora --plugins \"proxy,webpack,webpack-hmr\"",
    "lint": "eslint --fix --ext .js,.jsx .",
    "build": "atool-build"
  }
}

执行npm start可以正常building 但是刷新页面没有ant的样式。
执行npm run build
就会出现上面提到的问题

Module build failed: Error: Plugin 3 specified in "base" provided an invalid property of "Affix"

webpack.config 文件

const fs = require('fs');
const path = require('path');

module.exports = function (webpackConfig, env) {
  webpackConfig.babel.babelrc = false;
  webpackConfig.babel.plugins.push('transform-runtime');
  webpackConfig.babel.plugins.push(['antd', {
    style: 'css'  // if true, use less
  }]);

  // Enable hmr for development.
  if (env === 'development') {
    webpackConfig.babel.plugins.push(['dva-hmr', {
      entries: [
        './src/index.js',
      ]
    }]);
  }
  //webpackConfig.devtool = 'source-map';

  // Parse all less files as css module.
  webpackConfig.module.loaders.forEach(function (loader, index) {

    if (typeof loader.test === 'function' && loader.test.toString().indexOf('\\.less$') > -1) {
      loader.test = /\.dont\.exist\.file/;
    }
    if (loader.test.toString() === '/\\.module\\.less$/') {
      loader.test = /\.less$/;
    }
  });

  return webpackConfig;
};

@sorrycc
Copy link
Member

sorrycc commented Oct 21, 2016

webpack.config.js 里把 antd 那行换成:

webpackConfig.babel.plugins.push(['import', {
  libraryName: 'antd',
  style: 'css'  // if true, use less
}]);

@seamys
Copy link
Author

seamys commented Oct 21, 2016

问题解决了,非常感谢。

@seamys seamys closed this as completed Oct 21, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants