小编Max*_*kyi的帖子

是否可以在phpstorm的控制台中运行git特定的命令

是否可以在phpStorm的控制台中运行git命令?例如,我想git log 在我打开的控制台中运行命令Tools->Terminal

phpstorm

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

为什么TS不使用符号作为枚举

ES6符号非常适合枚举,因为它们可以避免碰撞.我认为TS enum类型使用符号作为枚举target:'es6',但它没有:

enum Role {Employee, Manager, Admin}
let role: Role = Role.Employee;
Run Code Online (Sandbox Code Playgroud)

转向

var Role;
(function (Role) {
    Role[Role["Employee"] = 0] = "Employee";
    Role[Role["Manager"] = 1] = "Manager";
    Role[Role["Admin"] = 2] = "Admin";
})(Role || (Role = {}));
let role = Role.Employee;
Run Code Online (Sandbox Code Playgroud)

任何想法为什么?有这样的方法Role.Employee0什么价值,0并且可以使用任何其他具有值的枚举而不是Role.Employee在运行时?

enums typescript

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

用于提取主题,谓词,对象等单词函数的软件

我需要在句子中提取单词的关系.我最感兴趣的是识别一个主题,谓词和一个对象.例如,对于以下句子:

She gave him a pen
Run Code Online (Sandbox Code Playgroud)

我想:

She_subject gave_predicate him a pen_object.
Run Code Online (Sandbox Code Playgroud)

斯坦福NLP能做到吗?我试过他们的relation注释器,但它似乎没有像我预期的那样工作?也许有其他软件可以产生这个结果?

nlp stanford-nlp

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

为什么setTimeout输出的数字不按顺序添加

我有以下代码:

function wait(ms) {
    var start = +(new Date());
    while (new Date() - start < ms);
}

(function() {
    setTimeout(function(){console.log(2)}, 1000);
    setTimeout(function(){console.log(3)}, 0);
    setTimeout(function(){console.log(4)}, 0);
    wait(2000); //!!! blocking events processing here
})();
Run Code Online (Sandbox Code Playgroud)

它输出:

3
4
2
Run Code Online (Sandbox Code Playgroud)

我已经阅读setTimeout了一个向事件队列添加函数的地方,然后当这个函数是链中的第一个时,它检查指定的时间是否已经过去,如果没有,它会推迟执行.根据这个逻辑,我期望上面的代码输出:2,3,4因为wait()函数阻塞事件链接处理和调用堆栈完成,浏览器终于​​有时间处理通过setTimeout添加的函数,所有三个函数都按添加的顺序放入队列中,1000个已经为第一个函数传递,所以浏览器可以接受并执行,但它等待第二个和第三个添加的函数.为什么?我逻辑中的错误在哪里?

javascript

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

当对象添加到数字时,为什么JS调用`toString`方法

我知道当JS尝试将对象表示为原始对象时,它会调用valueOf对象上的方法.但今天我发现它也在toString()同样的情况下调用方法:

var o = {};
o.toString = function() {return 1};
1+ o; // 2
Run Code Online (Sandbox Code Playgroud)

为什么?如果我添加valueOf方法则toString不会被调用.

javascript

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

浏览器会话在chrome扩展的上下文中意味着什么

请注意,此问题与客户端 - 服务器会话无关.这是关于Chrome会话.

我正在阅读这篇文章,tabId并指出:

选项卡ID在浏览器会话中是唯一的.

什么是浏览器会话?会话在我打开浏览器时开始,在关闭时结束吗?有没有办法跨会话跟踪选项卡?

google-chrome-extension

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

Chrome 53中的"分配堆栈"选项卡在哪里

我正在读这篇关于内存分析的文章.其中一个屏幕截图显示Allocation stack标签:

在此输入图像描述

在我的Chrome版本53中,没有这样的标签:

在此输入图像描述

它去了哪里?如何查找Allocation stackChrome 53中显示的信息?

javascript google-chrome

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

为什么在一个项目中同时使用 `morgan` 和 `debug` 日志包

我刚刚从 express 生成器创建了一个应用程序,它使用两个记录器debugmorgan

/bin/www.js

const debug = require('debug')('myapp:server');
....
server.on('listening', onListening);
function onListening() {
    const addr = server.address();
    const bind = typeof addr === 'string'
        ? 'pipe ' + addr
        : 'port ' + addr.port;
    debug('Listening on ' + bind);
 --^^^^^^^--
}
Run Code Online (Sandbox Code Playgroud)

/app.js

var logger = require('morgan');
...
app.use(logger('dev'));
Run Code Online (Sandbox Code Playgroud)

为什么两者都用?不能只使用其中之一用于两种目的吗?

node.js express

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

为什么在“d.ts”文件中使用“declare”一词

每当tsc生成d.ts文件时,它都会包含declare单词,如下所示:

export declare class Moment {
    name: string;
}
Run Code Online (Sandbox Code Playgroud)

现在,declarein tsfiles 用于表示tscjs应该为带有declare. 所以它在ts文件中是有意义的。然而,无论如何,nojs都是从d.ts文件生成的,为什么要在那里使用这个词呢?

我尝试declare从上面的代码中删除单词:

export class Moment {
    name: string;
}
Run Code Online (Sandbox Code Playgroud)

效果是一样的。

我在这里找到了以下内容:

如果文件的扩展名为 .d.ts,则每个根级别定义都必须在其前面添加声明关键字。这有助于让作者清楚地知道 TypeScript 不会发出任何代码。作者需要确保声明的项在运行时存在。

declare那么这是in文件的唯一目的吗d.ts

请注意,这与这个问题不是同一个问题,因为我的问题是关于declared.ts文件中使用,而不是ts文件。

typescript

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

如何将动态外部组件加载到Angular应用程序中

我遇到了Angular应用程序的问题.

我想用(aot)的Typscript构建一个角度应用程序.

目的是显示带有一些小部件的用户仪表板.小部件是角度组件.

我的应用程序附带了一些嵌入式小部件.但小部件应该通过像市场这样的东西来扩展; 或手动创建.

市场应该将文件(js/ts/bunlde .. ??)下载到特定的文件夹中.

然后我的应用程序应该能够加载新的小部件(= ng组件)并实例化它们.

我的文件夹结构(制作)

  |- index.html
  |- main.f5b448e73f5a1f3f796e.bundle.js
  |- main.f5b448e73f5a1f3f796e.bundle.js.map
  |- .... (all other files generated)
  |- externalWidgets
      |- widgetA
            |- widjetA.js
            |- widjetA.js.map
            |- assets
                 |- image.png
      |- widgetB
            |- widjetB.ts
            |- widjetB.html
            |- widjetB.css
Run Code Online (Sandbox Code Playgroud)

然后在加载用户页面时,数据库说有一个widgetA.因此,目标是动态加载文件和instanciate包含的组件.

我尝试过很多解决方案,使用"require"和"System.import",但是当动态生成加载路径时,两者都失败了.

这应该是可能的吗?我可以改变我的代码结构; 更改外部小部件..(例如,widgetB尚未转换,...​​)

事实上,我正在寻找一个带有Angular4/webpack应用程序的"插件系统".

plugins runtime typescript webpack angular

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