我通常使用WebStorm IDE进行Node.js和FE JavaScript开发.然而,我正在考虑使用Sublime Text 3,因为我在一台糟糕的旧Macbook Pro上耗尽了计算能力,ST3应该在内存和CPU上更轻松.
但是,我的一个问题是ST3似乎没有可能的命令行终端集成.我发现这是Eclipse和WebStorm中提供的一个非常有用的功能.
我做了一些谷歌搜索,我没有看到ST3的任何伟大的终端集成插件,是否有这样的事情?
这是带有终端集成的WebStorm:

如果您有这样的RequireJS模块:
define(
[
'#patches',
'backbone',
'underscore',
'react',
'#allCollections',
'#allModels',
'app/js/routers/router',
'#allTemplates',
'#allControllers',
'#allRelViews'
],
function(){
var patches = arguments[0];
});
Run Code Online (Sandbox Code Playgroud)
有没有办法知道哪个依赖首先被加载?就我而言,'#patches'是一些window.X实用程序函数,我想在其他任何东西之前加载.我是否需要以不同的方式配置以确保这一点?
(在我的例子中,"#"只是我自己的表示法,表示一个模块,其路径是在我的主配置文件中预定义的)
由于管理决策,我们将userId用于users集合,postId用于posts集合,topicId用于topic集合,而不是每个集合的'_id'作为唯一标识符.
这导致一些问题开始 - 我遇到的一个问题是upserts -
使用Mongoose,我们有一个模式将userId限制为唯一值 - 但是当对用户模型进行更新时,如果将upsert设置为true,MongoDB似乎只查看集合的ObjectIds以查看是否存在相同的 - 它不检查具有相同userId的模型是否已存在 - 因此Mongo执行插入而不是更新.
让我用一些数据来说明这一点:
假设用户的集合有一个文档:
{
_id:'561b0fad638e99481ab6d84a'
userId:3,
name:'foo'
}
Run Code Online (Sandbox Code Playgroud)
我们然后运行:
User.update({userId:3},{"$set":{name:'bar'},{upsert:true},function(err,resp){
if(err){
// "errMessage": "insertDocument :: caused by :: 11000 E11000 duplicate key error index: app42153482.users.$userId_1 dup key: { : 3 }",
}
});
Run Code Online (Sandbox Code Playgroud)
有人会认为MongoDB会找到带有userId:3和udpate的现有文档,所以必须有一些我做错了,因为它给了我重复的键错误?
HTTP 500表示服务器因意外原因无法满足请求.当服务器由于已知或预期的原因无法满足请求时,使用的最佳HTTP响应代码是什么?
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html https://en.wikipedia.org/wiki/List_of_HTTP_status_codes
通过HTTP查看一些文档,我找不到一个好的答案,它似乎是一个重要的区别.为一个并不真正代表"内部服务器错误"的错误抛出500可能不是一个好习惯.
如果我们在Node中派生一个child_process,我们如何将节点参数传递给child_process?
https://nodejs.org/api/child_process.html
具体来说,我想产生~20个进程,并希望通过使用--v8-options限制每个进程的内存使用量,但我找不到任何这样做的例子 - 这是可能的还是子进程假设与父节点相同的节点参数?
父母将是:
node foo.js
Run Code Online (Sandbox Code Playgroud)
孩子们会
node --some-flag=bar baz.js
Run Code Online (Sandbox Code Playgroud)
...
我希望使用传递节点选项
child_process.fork()
Run Code Online (Sandbox Code Playgroud)
但如果它只有可能
spawn()
Run Code Online (Sandbox Code Playgroud)
要么
exec()
Run Code Online (Sandbox Code Playgroud)
然后我想我会拿走我能得到的东西.
举个简单的例子,下面的代码不会运行带有--harmony标志的Node.js
var cp = require('child_process');
var args = ['--harmony'];
var n = cp.fork(filePath, args , Object.create(process.env));
Run Code Online (Sandbox Code Playgroud) 所以我有一个接受不同构造函数的函数,如下所示:
export class SomeSuperClass {
...
}
export class A extends SomeSuperClass {
...
}
export class B extends SomeSuperClass {
...
}
const foo = function(Clazz: SomeSuperClass){
const v = new Clazz();
}
foo(A); // pass the class itself
foo(B); // pass the class itself
Run Code Online (Sandbox Code Playgroud)
问题是这SomeSuperClass意味着Clazz将是 的一个实例SomeSuperClass,而不是SomeSuperClass它本身。
我尝试了这样的愚蠢事情(这显然不起作用):
const foo = function(Clazz: SomeSuperClass.constructor){
const v = new Clazz();
}
Run Code Online (Sandbox Code Playgroud)
这样做的正确方法是什么?
看起来Map.of()和List.of()两者都创建了不可变的集合。这很有用,但我正在寻找一种有时使用工厂方法创建可变集合的方法。
当我尝试时:HashMap.of()我收到此错误:
静态方法只能在包含接口类上调用
我有这个docker run命令:
docker run --rm --name=gitleaks \
-v "/keys/ssh/values:/root/.ssh" \
zricethezav/gitleaks \
--ssh-key='bucket' \
--repo "$line"
Run Code Online (Sandbox Code Playgroud)
我将其翻译为:
docker create zricethezav/gitleaks --name=gitleaks
docker cp /keys/ssh/values gitleaks:/root/.ssh
docker start gitleaks --ssh-key='bucket' --repo "$line"
Run Code Online (Sandbox Code Playgroud)
但这给了我这个错误:
Run Code Online (Sandbox Code Playgroud)Error: No such container:path: gitleaks:/root unknown flag: --ssh-key
有人知道我哪里出问题了吗?最终,我打电话给docker从正在运行的容器中运行,并且在共享文件时遇到麻烦,因此尝试docker cp上班。
使用JavaScript,允许使用函数作为原型,例如
function Foo(){
}
Foo.prototype = function(){
}
Run Code Online (Sandbox Code Playgroud)
或是否需要使用
Foo.prototype = { };
Run Code Online (Sandbox Code Playgroud)
更重要的是,它是否会产生重大影响?
node.js ×5
javascript ×4
docker ×1
docker-run ×1
eclipse ×1
fork ×1
gitleaks ×1
http ×1
java ×1
mongodb ×1
mongoose ×1
requirejs ×1
server ×1
sublimetext3 ×1
typescript ×1
web ×1
webstorm ×1