小编jus*_*ris的帖子

Npm仅在开发时安装后

我有以下package.json的npm模块

{
  "name": "my-app",
  "version": "0.0.0",
  "scripts": {
    "prepublish": "bower install",
    "build": "gulp"
  },
  "dependencies": {
    "express": "~4.0.0",
    "body-parser": "~1.0.1"
  },
  "devDependencies": {
   "gulp": "~3.6.0",
   "bower": "~1.3.2"
  }
}
Run Code Online (Sandbox Code Playgroud)

当我部署我的应用程序到生产,我不想安装devDependecies所以,我跑npm install --production.但在这种情况下prepublish脚本被调用,但它不需要,因为我在生产中使用CDN链接.

如何后才打电话后脚本npm install,但不是之后npm install --production

javascript continuous-integration node.js npm

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

Angularjs承诺拒绝链接

我需要创建链式承诺:

var deferred = $q.defer();
$timeout(function() {
    deferred.reject({result: 'errror'});
}, 3000);
deferred.promise.then(angular.noop, function errorHandler(result) {
    //some actions
    return result;
}).then(function successCallback(result) {
    console.log('what do I do here?');
    return result;
}, function errorCallback(result) {
   $scope.result= result;
   return result;
});
Run Code Online (Sandbox Code Playgroud)

如果我将errorCallback放入第一个then,则第二个then将被解析,并且将调用其successCallback.但如果我删除,errorHandler那么第二个承诺将被拒绝.

根据Angular JS文档,传播拒绝的唯一方法是返回$q.reject();并且看起来并不明显,特别是因为$q即使不需要也必须注入服务;

它也可以通过抛出异常来完成errorHandler,但它将异常跟踪写入控制台,这并不好.

还有另一种选择以明确的方式做到这一点吗?那是什么原因?为什么这样做?在这种情况下,当前的行为可能有用吗?

javascript promise angularjs

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

Promise.defer() browser support

I am looking for a way to create deferred object which will be resolved outside the current scope. I like deferred objects and as I see Promise.defer() in Chrome 38 returns the deferred object.

但最新的Firefox 34 Promise.defer在Safari 8.0中也未定义.

所以我Promise.defer现在无法到处使用.未来地位怎么样?它会在其他浏览器中实现还是会被弃用?

javascript cross-browser promise es6-promise

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

倾城报告:Chrome中没有显示任何内容

我正在尝试使用Allure-framework为我的Selenium WebDriver测试生成报告.我使用了Allure版本1.3.9的JUnitframework和allure-maven-plugin.我运行测试,mvn test然后使用生成报告mvn site.我在target/site/allure-maven-plugin/目录中看到生成的报告.当我用Firefox 打开index.html页面时,它可以正常工作.然而,当在Chrome或Safari中做同样的事情时,我什么也看不见.

怎么了?我错过了什么吗?我的pom.xml档案就在这里.

java webdriver report maven allure

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

Lodash从字符串数组中删除

我有一个字符串数组,想要立即删除其中的一些.但它不起作用

var list = ['a', 'b', 'c', 'd']
_.remove(list, 'b');
console.log(list); // 'b' still there
Run Code Online (Sandbox Code Playgroud)

我想这是因为_.remove函数接受字符串作为第二个参数,并认为这是属性名称.在这种情况下如何让lodash进行相等检查?

javascript lodash

10
推荐指数
2
解决办法
9530
查看次数

带有ng-repeat的bootstrap-labels之间没有间距

当我使用angular.js中的ng-repeat添加标签时,它们显示没有间距.这是一个演示它的Plunker.

但是如果我手动添加标签,只是复制了html,那么它们会显示空格.

有没有办法在标签之间添加空格而不需要额外的样式,就像纯引导一样?

javascript css twitter-bootstrap angularjs

9
推荐指数
1
解决办法
5343
查看次数

无法从java连接到仅IPv6主机

我有一些仅限IPv6的主机.我可以通过curl成功执行curl请求

$ curl -I my.ip.v6.only.host
HTTP/1.1 200 OK
Run Code Online (Sandbox Code Playgroud)

但是当我试图从java获取它时我有一个错误:

HttpGet httpget = new HttpGet("http://my.ip.v6.only.host");
CloseableHttpResponse response = httpclient.execute(httpget);    
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪:

INFO: I/O exception (java.net.NoRouteToHostException) caught when processing request to {}->http://my.ip.v6.only.host: No route to host
Mar 17, 2015 7:42:23 PM org.apache.http.impl.execchain.RetryExec execute
INFO: Retrying request to {}->http://my.ip.v6.only.host
java.net.NoRouteToHostException: No route to host
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:579)
    at org.apache.http.conn.socket.PlainConnectionSocketFactory.connectSocket(PlainConnectionSocketFactory.java:72)
    at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:123)
    at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:318)
    at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363)
    at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:219)
    at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195)
    at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86)
    at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108)
    at …
Run Code Online (Sandbox Code Playgroud)

java httpclient ipv6 osx-yosemite

9
推荐指数
2
解决办法
5503
查看次数

d3单元测试过渡

我有一个构建的图表d3,它出现了转换,我需要在所有转换结束时测试图表.我jasmine用于单元测试.怎么做?我找到方法d3.timer.flush(),但它只跳过第一帧,但我想跳过所有动画并立即查看最终结果并对其进行一些断言.

animation unit-testing timer jasmine d3.js

6
推荐指数
1
解决办法
1421
查看次数

抽象类中的静态工厂方法

我正在用 Typescript 构建一个类系统。有一个主要的抽象类Component,它有一个静态方法create()。将调用此方法来构建特定实例

abstract class Component {
    static build() {
       // some additional logic here, for example, cache to reuse instances
       return new this();
    }
}

class Button extends Component { }
class Input extends Component {}

Button.build(); // returns Button instance
Input.build(); // returns Input instance
Run Code Online (Sandbox Code Playgroud)

TS Playground 中的相同代码

这种方法在 Javascript 中运行良好,但是 Typescript 在 行报告错误new this(),说“无法创建抽象类的实例”。

我如何解释打字稿该方法将在派生实例上调用,而不是直接在主抽象类上调用?也许还有其他方法可以实现我需要的 API?

oop typescript

6
推荐指数
1
解决办法
2298
查看次数

共享 tsconfig.json 和相对路径

我的团队正在维护多个包,我们正在尝试tsconfig.json为所有这些包创建一个共享的通用配置。它包含我们关于编译目标、JSX、输出目录和包含文件的首选项,例如:

{
  "compilerOptions": {
    "module": "esnext",
    "target": "es5",
    "lib": ["es5", "dom"],
    "jsx": "react",
    "outDir": "build/dist"
  },
  "include": ["./src/**/*.ts", "./src/**/*.tsx"]
}
Run Code Online (Sandbox Code Playgroud)

我们将此文件发布为共享的 npm 模块,my-build-config然后extends在每个项目中使用:

{
   "extends": "./node_modules/my-build-config/tsconfig.json"
}
Run Code Online (Sandbox Code Playgroud)

这里的问题是共享配置中的所有路径都相对于文件位置。例如,它会尝试包含不是来自当前项目的“.ts”文件,而是包含在 .ts 文件中my-build-config。例如,./src/index.ts它会查找./node_modules/my-build-config/src/index.ts.

有没有办法共享文件位置,这样它们就不会在 10 多个包中重复?也许类似于 Jest 对rootDir财产所做的事情。

node-modules typescript tsconfig

6
推荐指数
1
解决办法
1850
查看次数