是否可以在phpStorm的控制台中运行git命令?例如,我想git log 在我打开的控制台中运行命令Tools->Terminal?
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.Employee有0什么价值,0并且可以使用任何其他具有值的枚举而不是Role.Employee在运行时?
我需要在句子中提取单词的关系.我最感兴趣的是识别一个主题,谓词和一个对象.例如,对于以下句子:
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注释器,但它似乎没有像我预期的那样工作?也许有其他软件可以产生这个结果?
我有以下代码:
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个已经为第一个函数传递,所以浏览器可以接受并执行,但它等待第二个和第三个添加的函数.为什么?我逻辑中的错误在哪里?
我知道当JS尝试将对象表示为原始对象时,它会调用valueOf对象上的方法.但今天我发现它也在toString()同样的情况下调用方法:
var o = {};
o.toString = function() {return 1};
1+ o; // 2
Run Code Online (Sandbox Code Playgroud)
为什么?如果我添加valueOf方法则toString不会被调用.
请注意,此问题与客户端 - 服务器会话无关.这是关于Chrome会话.
我正在阅读这篇文章,tabId并指出:
选项卡ID在浏览器会话中是唯一的.
什么是浏览器会话?会话在我打开浏览器时开始,在关闭时结束吗?有没有办法跨会话跟踪选项卡?
我刚刚从 express 生成器创建了一个应用程序,它使用两个记录器debug和morgan:
/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)
为什么两者都用?不能只使用其中之一用于两种目的吗?
每当tsc生成d.ts文件时,它都会包含declare单词,如下所示:
export declare class Moment {
name: string;
}
Run Code Online (Sandbox Code Playgroud)
现在,declarein tsfiles 用于表示tsc不js应该为带有declare. 所以它在ts文件中是有意义的。然而,无论如何,nojs都是从d.ts文件生成的,为什么要在那里使用这个词呢?
我尝试declare从上面的代码中删除单词:
export class Moment {
name: string;
}
Run Code Online (Sandbox Code Playgroud)
效果是一样的。
我在这里找到了以下内容:
如果文件的扩展名为 .d.ts,则每个根级别定义都必须在其前面添加声明关键字。这有助于让作者清楚地知道 TypeScript 不会发出任何代码。作者需要确保声明的项在运行时存在。
declare那么这是in文件的唯一目的吗d.ts?
请注意,这与这个问题不是同一个问题,因为我的问题是关于declare在d.ts文件中使用,而不是ts文件。
我遇到了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应用程序的"插件系统".
javascript ×3
typescript ×3
angular ×1
enums ×1
express ×1
nlp ×1
node.js ×1
phpstorm ×1
plugins ×1
runtime ×1
stanford-nlp ×1
webpack ×1