小编Zha*_* Yi的帖子

为什么 material-ui 占用太多空间?

我正在使用 webpack 来捆绑我的 React 项目。我的项目依赖于以下组件的 material-ui:

material-ui/Dialog
material-ui/styles/getMuiTheme
material-ui/styles/MuiThemeProvider
material-ui/FlatButton
material-ui/TextField
Run Code Online (Sandbox Code Playgroud)

webpack-bundle-size-analyzer 报告 material-ui 占用 1.07MB 大小。下面是我的 webpack 配置文件:

const webpack = require('webpack');
const path = require('path');
const NpmInstallPlugin = require('npm-install-webpack-plugin');
const WebpackShellPlugin = require('webpack-shell-plugin');
var CompressionPlugin = require("compression-webpack-plugin");

const PATHS = {
  react: path.join(__dirname, 'node_modules', 'react', 'dist', 'react.min.js'),
  app: path.join(__dirname, 'src'),
  build: path.join(__dirname, './dist')
};

module.exports = {
  entry: {
    app: './app/index.jsx',
    android: './app/utils/platform_android.js',
    ios: './app/utils/platform_ios.js',
    web: './app/utils/platform_web.js',
    vendor: [
      'axios',
      'react',
      'react-dom',
      'react-redux',
      'react-router',
      'react-router-redux',
      'redux',
      'redux-thunk',
      'react-alert', …
Run Code Online (Sandbox Code Playgroud)

npm reactjs webpack material-ui

8
推荐指数
1
解决办法
7663
查看次数

如何在Karma,Webpack,PhantomJS中运行单元测试时修复错误'ReferenceError:找不到变量:require'

我使用Karma,Webpack,酶,PhantomJS来测试我的反应项目.当我运行以下命令运行测试用例时,

./node_modules/karma/bin/karma start config/karma.conf.js --single-run --browsers PhantomJS
Run Code Online (Sandbox Code Playgroud)

我得到以下错误:

PhantomJS 2.1.1 (Mac OS X 0.0.0) ERROR
  ReferenceError: Can't find variable: require
  at /dev/test/test.js:3
Run Code Online (Sandbox Code Playgroud)

在test.js的源代码的line3中,我没有使用require,下面是代码:

import { expect } from 'chai'; 
Run Code Online (Sandbox Code Playgroud)

我想为什么PhantomJS抱怨这个错误.

下面是我的业力配置文件:

var path = require('path');
var webpackconf = require("./webpack.config")

module.exports = function(config) {
  config.set({
    basePath: '',
    frameworks: ['mocha', 'chai'],
    files: [
      '../test/**/*.js'
    ],

    preprocessors: {
      // add webpack as preprocessor
      '../src/**/*.js': ['babel'],
      '../test/**/*.js': ['babel'],
      '../src/**/*.less': ['babel']
    },
    webpack: { //kind of a copy of your webpack config
      devtool: …
Run Code Online (Sandbox Code Playgroud)

karma-jasmine karma-mocha webpack enzyme

8
推荐指数
1
解决办法
1678
查看次数

webpack如何从外部URL导入

我正在使用webpack来管理我的反应应用程序.现在我想从这个url导入一个依赖项:

<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=gNO2wKVBNupZfafi0bl0sW3dIKqAHn4l">
Run Code Online (Sandbox Code Playgroud)

传统上我只是将上面的代码放在我的index.html文件上.但是现在我怎么能让webpack加载这个url?我的反应如何使用这种依赖?

当我启动webpack-dev-server时,我会得到以下错误:

ERROR in Entry module not found: Error: Cannot resolve module 'http://api.map.baidu.com/api'
Run Code Online (Sandbox Code Playgroud)

然后我使用小装载机加载网址.下面是使用loader的javascript代码:

import $ from 'jquery'
import React from 'react';
import ReactDOM from 'react-dom';
import load from 'little-loader';

import './main.css';
import './component';
import Search from './search/search'

load('http://api.map.baidu.com/api?v=2.0&ak=gNO2wKVBNupZfafi0bl0sW3dIKqAHn4l', function(err){
    console.log('err:', err);
});

// document.body.appendChild(component());


ReactDOM.render(<Search />, document.getElementById('search'));
Run Code Online (Sandbox Code Playgroud)

但是在启动webpack时我仍然遇到以下错误:

ERROR in Entry module not found: Error: Cannot resolve module 'http://api.map.baidu.com/api' in /Users/yzzhao/dev/react-demo/webpack_demo
Run Code Online (Sandbox Code Playgroud)

reactjs webpack

7
推荐指数
1
解决办法
1万
查看次数

导入js库或在html &lt;script&gt; 标签中引用有什么区别

我目前正在使用带有 react js 的 webpack。我是新手,对导入依赖项有疑问。在传统方式中,我们通常从<script>html 中的标签中导入第三方库。现在我可以通过运行下面的代码在 javascript 中完成它。我想知道这两种方法之间的区别是什么。它们是否被导入到同一个命名空间?还有其他区别吗?

import $ from 'jquery'
import React from 'react';
import ReactDOM from 'react-dom';
import load from 'little-loader';
Run Code Online (Sandbox Code Playgroud)

html javascript reactjs webpack

7
推荐指数
1
解决办法
2114
查看次数

重新加载热键cmd + r不起作用

我已经设置了一个react-native app,它可以通过从终端运行"react-native run-ios"来启动.我可以看到有另一个终端弹出窗口可以监听8081端口.但是,当我在模拟器上按cmd + r时,它不会进行刷新.我可以看到守望者正在奔跑.如果我的javascript出现错误,我可以通过单击屏幕底部的"刷新"按钮来刷新模拟器.我不明白为什么热键不起作用.我需要安装其他任何东西吗?

react-native

7
推荐指数
1
解决办法
2495
查看次数

解决 terraform 中 EntityAlreadyExists 错误的最佳方法是什么?

我正在使用terraform v0.12.6,但遇到了许多错误,例如:

Error: Error creating Security Group: InvalidGroup.Duplicate: The security group 'security-search-populate' already exists for VPC 'vpc-003e06e33a87c22f5'
    status code: 400, request id: 82acdc81-c324-4672-b9fe-531eb8283ed3

Error: Error creating IAM Role PopulateTaskRole: EntityAlreadyExists: Role with name PopulateTaskRole already exists.
    status code: 409, request id: 49aac94c-d52b-11e9-a535-c19e5ed20660
Run Code Online (Sandbox Code Playgroud)

我知道我可以通过从 aws 中删除这些资源来解决它们。但我想知道是否有更好的方法来解决它们。

terraform

7
推荐指数
2
解决办法
5762
查看次数

在 `Row` 内渲染 ListTile 时出现错误 `Failed assertion: line 1687 pos 12: 'hasSize'`

我在颤振中有以下代码。

Widget build(BuildContext context) {
    return Center(
      child: Card(
        child: Column(
          mainAxisSize: MainAxisSize.min,
          children: <Widget>[
            Row(
              children: <Widget>[
                SizedBox(
                    height: 100,
                    child: ListTile(
                      leading: IconButton(
                        iconSize: 30,
                        icon: roundImage(post.userPicture, Icon(Icons.person)),
                        onPressed: () {},
                      ),
                      subtitle: Text(this.post.message),
                    )),
              ],
            ),
          ],
        ),
      ),
    );
  }
Run Code Online (Sandbox Code Playgroud)

但我收到此错误:

???????? Exception caught by rendering library ?????????????????????????????????
RenderBox was not laid out: RenderPhysicalShape#7713c relayoutBoundary=up3
'package:flutter/src/rendering/box.dart':
Failed assertion: line 1687 pos 12: 'hasSize'
The relevant error-causing widget was
    Card 
Run Code Online (Sandbox Code Playgroud)

我已经添加SizedBoxRow但它仍然抱怨hasSize错误。我该如何解决这个问题?

flutter

7
推荐指数
2
解决办法
2万
查看次数

什么时候使用“apply”,什么时候使用“rollout”?

apply我是 kubernete 的新手,对命令有点困惑rollout。如果我更新 kubernete 配置文件,我应该使用kubectl apply -f还是kubectl rollout

如果我更新 kubernete 配置并运行kubectl apply -f,它将终止正在运行的 pod 并创建一个新的 pod。

而且rollout还有restart用于重新启动 pod 的命令。那么我应该什么时候使用rollout restart

kubernetes

7
推荐指数
2
解决办法
2340
查看次数

kinesis firehose 如何将数据流式传输到自我管理的elasticsearch?

我在 EKS 中托管 Elasticsearch 集群,并且希望通过 Kinesis Firehose 将所有 cloudwatch 组流式传输到此 Elasticsearch 集群。但 AWS Kinesis firehose 不支持将数据流传输到 AWS 托管的 ES 之外的 Elasticsearch 集群。

将数据流式传输到自托管 ES 集群的最佳方式是什么?

amazon-web-services elasticsearch amazon-kinesis

7
推荐指数
1
解决办法
1302
查看次数

如何从 github 自动设置 docker 镜像版本?

我已将 github 存储库与我的 docker hub 帐户链接起来。当推送到 githubmaster分支时,将在 docker hub 中构建一个新镜像。但图像只有LATEST标签。如何让版本自动增加?

理想情况下,我希望它遵循 sversion 1.0.0。并且每次推送都会增加1.0.11.0.2 1.0.3等等。

有没有办法让它遵循这个模式?

docker dockerhub

7
推荐指数
1
解决办法
6309
查看次数