小编ken*_*dds的帖子

Babel 6更改了导出默认值的方式

之前,巴贝尔会添加这条线module.exports = exports["default"].它不再这样做了.在我能做之前,这意味着什么:

var foo = require('./foo');
// use foo
Run Code Online (Sandbox Code Playgroud)

现在我必须这样做:

var foo = require('./foo').default;
// use foo
Run Code Online (Sandbox Code Playgroud)

这不是什么大不了的事(我猜它应该一直都是这样).问题是我有很多代码依赖于以前的工作方式(我可以将大部分代码转换为ES6导入,但不是全部转换).任何人都可以给我提示如何使旧的方式工作,而不必通过我的项目并解决这个问题(甚至一些关于如何编写codemod来做这个的说明将是非常光滑的).

谢谢!

例:

输入:

const foo = {}
export default foo
Run Code Online (Sandbox Code Playgroud)

使用Babel输出5

"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
var foo = {};
exports["default"] = foo;
module.exports = exports["default"];
Run Code Online (Sandbox Code Playgroud)

使用Babel 6(和es2015插件)输出:

"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
var foo = {};
exports["default"] = foo;
Run Code Online (Sandbox Code Playgroud)

请注意,输出的唯一区别是module.exports = exports["default"].


编辑

您可能对我在解决我的具体问题后写的博客文章感兴趣:误解ES6模块,升级Babel,眼泪和解决方案

commonjs ecmascript-6 babeljs

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

Webstorm:"无法解析目录"

这开始让我感到烦恼,我要么关闭它还是要修复它.因此,Webstorm在它的HTML解析器中有一个很好的功能,它将尝试解析应该引用项目中文件的字符串中的目录.例如:

两个例子

Webstorm是正确的.我的前端代码全部在,/app但我的服务器在根目录中提供应用程序中的文件,因此在Web上下文/app实际上只是/.作为一方,此行为也会影响我的角度模板:

webstorm讨厌角度指令templateUrl

和我的角度ui路线(我想它也适用于常规的角度路线).

webstorm讨厌角度路线templateUrl

有没有办法让我可以改变webstorm /app作为根,所以这是一个有用的功能?如果没有,有没有办法可以禁用它?我试着进入检查员,但找不到它的选项:

webstorm督察

不,它不是XML ...我试过.

帮助赞赏.谢谢...

html javascript ide webstorm angularjs

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

CSS网格包装?

是否可以在不使用媒体查询的情况下制作CSS网格包装?

在我的情况下,我有一个非确定数量的项目,我想放在网格中,我希望该网格包装.使用flexbox,我无法可靠地分配好东西.我也想避免一堆媒体查询.

这是一些示例代码:

.grid {
  display: grid;
  grid-gap: 10px;
  grid-auto-flow: column;
  grid-template-columns: 186px 186px 186px 186px;
}

.grid > * {
  background-color: green;
  height: 200px;
}
Run Code Online (Sandbox Code Playgroud)
<div class="grid">
  <div>1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
</div>
Run Code Online (Sandbox Code Playgroud)

这是一个gif:

我所看到的gif

作为旁注,如果有人能告诉我如何避免指定所有项目的宽度,就像我一样,grid-template-columns这将是伟大的.我希望孩子们指定自己的宽度.

html css css-grid

83
推荐指数
3
解决办法
6万
查看次数

Webpack:沉默输出

我想知道是否有一个配置选项告诉webpack只将"重要信息"记录到终端.几乎只是错误和警告,而不是所有这些:

带有webpack的终端输出

有这么多的输出!很想压制常见的东西,只有webpack输出警告/错误.想一个解决方案webpack,webpack-dev-server以及karma-webpack.

注意:我尝试了noInfo: true,quiet: true但似乎没有做到这一点.


编辑:我认为这可能不可能,所以我在github上创建了一个问题:https://github.com/webpack/webpack/issues/1191

webpack webpack-dev-server

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

哪里是我的无效角色(ORA-00911)

我正在尝试将CLOBs插入数据库(请参阅相关问题).我无法弄清楚出了什么问题.我有一个大约85个clobs的列表,我想插入表中.即使只插入我得到的第一个clob ORA-00911: invalid character.我无法弄清楚如何PreparedStatement在执行之前获取声明,因此我无法100%确定它是正确的,但如果我做对了,那么它看起来应该是这样的:

insert all
  into domo_queries values ('select 
substr(to_char(max_data),1,4) as year,
substr(to_char(max_data),5,6) as month,
max_data
from dss_fin_user.acq_dashboard_src_load_success
where source = ''CHQ PeopleSoft FS''')
select * from dual;
Run Code Online (Sandbox Code Playgroud)

最终,这个insert all陈述会有很多into,这就是我不做常规insert陈述的原因.我没有在那里看到无效的角色,对吗?(哦,当我在我的sql开发人员工具中运行它时,上面的代码运行正常.)如果我删除了分号PreparedStatement,它会抛出ORA-00933: SQL command not properly ended错误.

在任何情况下,这是我执行查询的代码(以及上面示例的变量值).

public ResultSet executeQuery(String connection, String query, QueryParameter... params) throws DataException, SQLException {
  // query at this point = "insert all
                          //into domo_queries …
Run Code Online (Sandbox Code Playgroud)

java oracle jdbc prepared-statement

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

在命令行上隐藏输入

我知道像Git和其他命令行界面能够隐藏用户的输入(对密码很有用).有没有办法在Java中以编程方式执行此操作?我正在从用户那里获取密码输入,我希望他们的输入被"隐藏"在该特定行上(但不是所有这些).这是我的代码(虽然我怀疑它会有所帮助......)

try (Scanner input = new Scanner(System.in)) {
  //I'm guessing it'd probably be some property you set on the scanner or System.in right here...
  System.out.print("Please input the password for " + name + ": ");
  password = input.nextLine();
}
Run Code Online (Sandbox Code Playgroud)

java command-line user-input input command-prompt

58
推荐指数
3
解决办法
8万
查看次数

如何检测左/右和上/下之间的滑动方向

我的问题:如何检测用户向上/向下移动手指的时间与左/右相比(我如何知道他们的手指向哪个方向移动)?

我的情况:我想在他们上下移动手指时改变我的应用程序的亮度(向上=更亮,向下=更暗),我想根据他们的左/右滑动在活动和/或视图之间切换.

user-interface android user-interaction

54
推荐指数
5
解决办法
6万
查看次数

按名称仅获取XML直接子元素

我的问题是:当存在与父元素的"孙子"同名的其他元素时,如何直接在特定父元素下获取元素.

我正在使用Java DOM库来解析XML 元素,我遇到了麻烦.下面是一些我使用的XML(可一小部分):

<notifications>
  <notification>
    <groups>
      <group name="zip-group.zip" zip="true">
        <file location="C:\valid\directory\" />
        <file location="C:\another\valid\file.doc" />
        <file location="C:\valid\file\here.txt" />
      </group>
    </groups>
    <file location="C:\valid\file.txt" />
    <file location="C:\valid\file.xml" />
    <file location="C:\valid\file.doc" />
  </notification>
</notifications>
Run Code Online (Sandbox Code Playgroud)

如您所见,您可以在两个位置放置<file>元素.无论是团体还是外部团体.我真的希望它以这种方式构建,因为它更加用户友好.

现在,每当我调用notificationElement.getElementsByTagName("file");它时,都会给我所有<file>元素,包括元素下的<group>元素.我以不同方式处理这些类型的文件,因此不希望使用此功能.

我想到了两个解决方案:

  1. 获取文件元素的父元素,并相应地处理它(这取决于它是否<notification>还是<group>.
  2. 重命名第二个<file>元素以避免混淆.

这些解决方案都不是那么令人满意,只是按照它们的方式离开事物,只获得<file>元素的直接<notification>元素.

我对IMPO的评论和答案是开放的,关于"最好"的方法,但我真的对DOM解决方案感兴趣,因为这是该项目的其余部分正在使用的.谢谢.

java xml parsing dom xml-parsing

39
推荐指数
4
解决办法
8万
查看次数

如何使用反射访问对象中的字段值

我的问题:如何克服IllegalAccessException使用反射访问对象字段的值.

扩展:我正在尝试学习反思,以使我的一些项目更通用.当我IllegalAccessException试图调用field.getValue(object)以获取该对象中该字段的值时,我遇到了一个问题.我可以得到名字和类型.

如果我将声明更改为private,public则此工作正常.但是为了遵循封装的"规则",我不想这样做.任何帮助将不胜感激!谢谢!

我的代码:

package main;

import java.lang.reflect.Field;

public class Tester {

  public static void main(String args[]) throws Exception {
    new Tester().reflectionTest();
  }

  public void reflectionTest() throws Exception {
    Person person = new Person("John Doe", "555-123-4567", "Rover");
    Field[] fields = person.getClass().getDeclaredFields();
    for (Field field : fields) {
      System.out.println("Field Name: " + field.getName());
      System.out.println("Field Type: " + field.getType());
      System.out.println("Field Value: " + field.get(person));
      //The line above throws: Exception in …
Run Code Online (Sandbox Code Playgroud)

java reflection exception illegalaccessexception

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

如何等待ThreadPoolExecutor完成

我的问题:如何在a上执行一堆线程对象ThreadPoolExecutor并等待它们全部完成然后再继续?

我是ThreadPoolExecutor的新手.因此,此代码是一项测试,以了解它是如何工作的.现在我甚至没有填充BlockingQueue对象,因为我不知道如何启动队列而不用execute()另一个调用RunnableObject.无论如何,现在我只是打电话,awaitTermination()但我想我仍然缺少一些东西.任何提示都会很棒!谢谢.

public void testThreadPoolExecutor() throws InterruptedException {
  int limit = 20;
  BlockingQueue q = new ArrayBlockingQueue(limit);
  ThreadPoolExecutor ex = new ThreadPoolExecutor(limit, limit, 20, TimeUnit.SECONDS, q);
  for (int i = 0; i < limit; i++) {
    ex.execute(new RunnableObject(i + 1));
  }
  ex.awaitTermination(2, TimeUnit.SECONDS);
  System.out.println("finished");
}
Run Code Online (Sandbox Code Playgroud)

RunnableObject类:

package playground;

public class RunnableObject implements Runnable {

  private final int id;

  public RunnableObject(int id) {
    this.id = id;
  }

  @Override
  public void …
Run Code Online (Sandbox Code Playgroud)

java multithreading threadpool

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