【问题标题】:antd doesn't work (without any error!)antd 不起作用(没有任何错误!)
【发布时间】:2018-08-21 15:16:03
【问题描述】:

我正在使用最新版本的 react 和 react-dom(16.4.2)和 antd(3.8.2)。

我的文件如下:

index.html

<!DOCTYPE html>
<html lang="en" dir="ltr">

<head>
  <meta charset="utf-8">
  <title>React Project</title>
  <link href="/assets/stylesheet/stylesheet.css" rel="stylesheet" type="text/css">
</head>

<body>
  <div id="main" >
  </div>
  <script src="/build/bundle.js"></script>
</body>

</html>

main.js

import React, {Component} from 'react';
import ReactDOM from 'react-dom';
import {Select} from 'antd';
class App extends Component {
  render() {
    return (
      <div>
        salam
        <Select>
          <Option value="lucy">lucy</Option>
        </Select>
      </div>
    )
  }
}

ReactDOM.render(<App/>, document.getElementById('main'));

gulpfile.js

var gulp = require('gulp');
var browserify = require('browserify');
var babelify = require('babelify');
var source = require('vinyl-source-stream');
// New Plugin
var notify = require('gulp-notify');
var util = require('gulp-util');
var watchify = require('watchify')
var buffer = require('vinyl-buffer');
var uglify = require('gulp-uglify');

gulp.task('browserify', function () {
  return browserify('./assets/scripts/main.js')
    .transform(babelify, {
      presets: ["es2015", "react"],
      "plugins": [
        ["import", {
          "libraryName": "antd",
          "style": "css"
        }]
      ]
    })
    .bundle()
    .on('error', function (e) {
      console.log(e.message);
      this.emit('end');
    })
    .pipe(source('bundle.js'))
    .pipe(buffer())
    .pipe(uglify())
    .pipe(gulp.dest('./build'));
});


gulp.task('watch', ['browserify'], function () {
  gulp.watch('./assets/scripts/**/*.js', ['browserify']);
});

问题:问题是当我运行gulp watch 并且 gulpfile 开始观看,然后在浏览器中它没有任何错误,除了以下警告:

bundle.js:8688 你使用的是一整包的antd,请使用https://www.npmjs.com/package/babel-plugin-import减小app bundle大小。

我只在浏览器中看到“salam”,没有看到任何选择/选项组件。 我应该如何修复此代码?

【问题讨论】:

    标签: reactjs gulp antd


    【解决方案1】:

    尝试添加这一行。官方例子中用到了,不插入会报错。

    import React, {Component} from 'react';
    import ReactDOM from 'react-dom';
    import {Select} from 'antd';
    
    const Option = Select.Option;
    
    class App extends Component {
       render() {
          return (
          <div>
             salam
                <Select>
                    <Option value="lucy">lucy</Option>
                </Select>
          </div>
          )
       }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-26
      • 2020-08-08
      • 2023-02-03
      • 1970-01-01
      • 2021-10-14
      • 2018-01-28
      相关资源
      最近更新 更多