小编djt*_*oms的帖子

用Jest单元测试ES7 React组件

您如何使Jest与ES7初始化程序配合使用?我在这里和其他来源进行了广泛的搜索,但没有发现任何结论性的信息。

.babelrc.js

{
    "env": {
        "development": {
            "presets": [["es2015", { "modules": false }], "react", "react-hmre"],
            "plugins": [
                "transform-class-properties",
                "react-hot-loader/babel"
            ]
        },
        "test": {
            "presets": ["env", "react"],
            "plugins": ["transform-class-properties"]
        },
        "production": {
            "presets": [["es2015", { "modules": false }], "react"],
            "plugins": ["transform-class-properties"]
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

package.json

    {
    "name": "demo",
    "version": "1.0.0",
    "main": "index.js",
    "license": "MIT",
    "private": true,
    "dependencies": {
        "react": "^15.5.4",
        "react-dom": "^15.5.4",
    },
    "devDependencies": {
        "babel-cli": "^6.24.1",
        "babel-core": "^6.24.1",
        "babel-jest": "^20.0.3",
        "babel-plugin-transform-class-properties": "^6.24.1",
        "babel-polyfill": "^6.23.0",
        "babel-preset-env": "^1.5.2",
        "babel-preset-es2015": "^6.24.1",
        "babel-preset-react": "^6.24.1", …
Run Code Online (Sandbox Code Playgroud)

javascript unit-testing reactjs jestjs babeljs

5
推荐指数
1
解决办法
1420
查看次数

Webpack 2 语义 UI 问题

一直在努力使用 Webpack 2 设置语义用户界面。我遇到了一些与默认语义用户界面主题中的字体相关的错误,以及另一个关于image-webpack-loader以下内容的错误:

ERROR in ./~/css-loader?{"lessPlugins":[{"options":{"paths":{"../../theme.config":"/Users/djthomps/Desktop/demo/theme.config"}}}]}!./~/less-loader!./semantic/src/semantic.less
Module not found: Error: Can't resolve './themes/themes/default/assets/fonts/icons.eot' in '/Users/djthomps/Desktop/demo/semantic/src'
 @ ./~/css-loader?{"lessPlugins":[{"options":{"paths":{"../../theme.config":"/Users/djthomps/Desktop/demo/theme.config"}}}]}!./~/less-loader!./semantic/src/semantic.less 6:285117-285174 6:285197-285254
 @ ./semantic/src/semantic.less
 @ ./app/index.js
 @ multi (webpack)-dev-server/client?http://localhost:8080 ./app/index.js

# same for icons.woff2

# same for icons.woff

# same for icons.ttf

# same for icons.svg

ERROR in ./~/css-loader?{"lessPlugins":[{"options":{"paths":{"../../theme.config":"/Users/djthomps/Desktop/demo/theme.config"}}}]}!./~/less-loader!./semantic/src/semantic.less
Module not found: Error: Can't resolve 'image-webpack' in '/Users/djthomps/Desktop/demo'
BREAKING CHANGE: It's no longer allowed to omit the '-loader' suffix when using loaders.
                 You need to specify 'image-webpack-loader' instead of 'image-webpack'. …
Run Code Online (Sandbox Code Playgroud)

javascript less semantic-ui webpack webpack-2

4
推荐指数
1
解决办法
5784
查看次数

如何使用外部样式设置自定义Polymer元素的内部元素?

无法使用带有Polymer 1.x或2.x的Shadow DOM设置元素的样式.考虑Polymer 2.0中的以下自定义元素:

<link rel="import" href="../polymer/polymer.html">

<!--
`semantic-ui-button`


@demo demo/index.html
-->

<dom-module id="polymer-button">
  <template>
    <div class$="button {{size}}">{{label}}</div>
  </template>

  <script>
    class MyElement extends Polymer.Element {
      static get is() {
        return 'polymer-button';
      }
      static get properties() {
        return {
          label: {
            type: String,
            value: 'polymer-element'
          },
          size: { type: String }
        };
      }
    }

    window.customElements.define(MyElement.is, MyElement);
  </script>
</dom-module>
Run Code Online (Sandbox Code Playgroud)

在演示中:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, minimum-scale=1, initial-scale=1, user-scalable=yes">

    <title>polymer-element demo</title>

    <script src="../../webcomponentsjs/webcomponents-lite.js"></script>

    <link rel="import" href="../../iron-demo-helpers/demo-pages-shared-styles.html">
    <link rel="import" …
Run Code Online (Sandbox Code Playgroud)

css dom shadow-dom polymer polymer-2.x

4
推荐指数
2
解决办法
2645
查看次数

循环遍历perl哈希中的匿名数组

背景:我是Perl的新手,我正在修补一个简单的脚本,它循环遍历一个匿名数组的哈希值.

问题我似乎无法遍历数组.我得到的只是ARRAY(0x1663b78)

代码

#!/usr/bin/perl
package Foo;
use strict "vars";

sub new {
    my $class = shift;
    my $self = {
        distro  => "",
        pkg_mgr => "",
        options => ["PHP + Apache", "PHP + Lighthttpd", "PHP + Nginx", "RubyGems + Rails", "Node JS + NPM"]
    };

    bless $self, $class;

    return $self;
}

sub print_options {
    my($self) = @_;
    foreach($self->{options}) {
        print $_ . "\n";
    }
}

my $setup = new Foo();
$setup->print_options();
Run Code Online (Sandbox Code Playgroud)

此外,如果有人可以通知我,use strict "vars";如果我真的不需要私人或公共变量,它是否有用.我知道如何在PHP中执行此操作,但我无法在Perl中解决这个问题.

最后,我使用Perl的原因是因为最终我要创建一个为服务器(包括PHP)安装软件的应用程序.此脚本将需要通过命令行进行用户交互.

perl loops hashmap

2
推荐指数
1
解决办法
2122
查看次数

如何在Slim 3路由中注入全局变量?

你如何在Slim 3中注入全局变量?我发现了这个如何在slim框架中定义全局变量,但它引用了Slim 2.

我有一个配置Google API的单身人士:

class Google_Config {

    private static $CLIENT_ID = "...";
    private static $CLIENT_SECRET = "...";
    private static $REDIRECT_URI = "...";

    private static $instance = null;

    private $client = null;

    private $scopes = [...];

    private function __construct() {
        $this->client = new Google_Client();
        $this->client->setClientId(self::$CLIENT_ID);
        $this->client->setClientSecret(self::$CLIENT_SECRET);
        $this->client->setRedirectUri(self::$REDIRECT_URI);
        $this->client->setScopes($this->scopes);
    }

    public static function get() {
        if(self::$instance == null) {
            self::$instance = new Google_Config();
        }

        return self::$instance;
    }

}
Run Code Online (Sandbox Code Playgroud)

我正在定义全局变量index.php如下:

 $config = Google_Config::get();
Run Code Online (Sandbox Code Playgroud)

我尝试了上面引用的文章中的一些旧方法:

$app->config = Google_Config::get(); // …
Run Code Online (Sandbox Code Playgroud)

php dependency-injection slim

2
推荐指数
1
解决办法
3628
查看次数

通告代码抛出超出最大调用堆栈大小

使用babel将ES6转换为ES5时会出现一个奇怪的问题.

我遇到的问题似乎与Babel/RequireJS + typeof"RangeError:超出最大调用堆栈大小"无关

如果你使用babeljs.io上默认设置运行这个简单的代码片段

class Person {

  constructor(name, age) {
    this.name = name;
    this.age = age;
  }

  set name(name) {
    this.name = name;
  }

  set age(age) {
    this.age = age;
  }

  get name() {
    return this.name;
  }

  get age() {
    return this.age;
  }

}

let person = new Person('John Doe', 25);

console.log(person.name);
Run Code Online (Sandbox Code Playgroud)

您将超出最大调用堆栈大小作为错误.我不确定为什么会这样.根据这个github问题,问题得到了解决?

我已经能够在ES5代码中将其深入到这一行:

 set: function set(name) { ... }
Run Code Online (Sandbox Code Playgroud)

但我不确定为什么我会收到错误.任何人都可以澄清这里发生了什么或解决方法是什么?

注意:我在jsfiddle,codepen,jsbin和js.do上复制了这个问题.每次我尝试设置debugger;控制台崩溃,所以我无法检查callstack.

javascript ecmascript-6 babeljs

2
推荐指数
1
解决办法
683
查看次数

Express 401 重定向不会自动发生

遇到一种情况,当他们无权访问页面时,我使用 401 重定向用户。我在我的一条路线中有这个:

 res.redirect(401, '/login');
Run Code Online (Sandbox Code Playgroud)

看起来很简单,但应用程序徘徊并且不会将用户重定向到/login. 它只是位于与此类似的页面上:

 Unauthorized. Redirecting to /login
Run Code Online (Sandbox Code Playgroud)

标题看起来也不错:

 res.redirect(401, '/login');
Run Code Online (Sandbox Code Playgroud)

奇怪的是,如果我省略状态,重定向正常发生:

 res.redirect('/login'); // doesn't hang on page, redirect occurs immediately
Run Code Online (Sandbox Code Playgroud)

我的印象是重定向是自动的,但也许不是?任何见解?

redirect node.js express

2
推荐指数
1
解决办法
876
查看次数

Maven clean无法删除文件

尝试配置 maven clean 插件以删除我项目中的其他目录,但它无法正常工作。这是使用 maven 3.5 的简单复制。

开始使用简单的演示应用程序:https : //maven.apache.org/guides/getting-started/maven-in-five-minutes.html

修改pom.xml配置maven-clean-plugin

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mycompany.app</groupId>
    <artifactId>my-app</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    <name>Maven Quick Start Archetype</name>
    <url>http://maven.apache.org</url>
    <build>
        <plugins>
            <plugin>
                <artifactId>maven-clean-plugin</artifactId>
                <version>3.0.0</version>
                <executions>
                    <execution>
                        <id>auto-clean</id>
                        <phase>clean</phase>
                        <goals>
                            <goal>clean</goal>
                        </goals>
                        <configuration>
                            <verbose>true</verbose>
                            <fieldsets>
                                <fieldset>
                                    <directory>${basedir}</directory>
                                    <includes>
                                        <include>demo/**</include>
                                    </includes>
                                </fieldset>
                            </fieldsets>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.8.2</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>
Run Code Online (Sandbox Code Playgroud)

创建一个名为的虚拟目录 demo

 mkdir demo && touch demo/hello
Run Code Online (Sandbox Code Playgroud)

现在运行:

 mvn package
 mvn clean …
Run Code Online (Sandbox Code Playgroud)

java maven maven-clean-plugin

0
推荐指数
1
解决办法
7128
查看次数