我正在努力解决最近出现的问题.假设我们想要并且知道如何在javascript中使用动态getter和setter,更像是php(__ get,__ set)中的那些.但是由于javascript没有全能属性,我们唯一能做的就是提供一个可能的键列表,并迭代只在那些上添加getter和setter,并希望别人都不会来.
但问题到目前为止尚未解决.这样就使我想起了另一个方法是使用一个讨厌的黑客与try和catch,因此只要有一个名字会在一个对象是不确定的使用catch是获取(至少),然后恢复代码,硬,也许毫无意义的事做.但是从这里出现了我的第二个问题,在这样的用途:
console.log(g.someundefinedproperty);
Run Code Online (Sandbox Code Playgroud)
结果将是一个console.log显示的调用undefined,没有异常被抛出.然后它来找我:如果我会使用原始的window.undefinedgetter和setter,毕竟每次我搞砸并拼错一个单词或什么时都必须调用它.
所以我试过了
Object.defineProperty(window, 'undefined', {
get : function ()
{
// functional code, including getting the caller and figuring out
// where we are, and what we have to do... easy :D
console.log('works');
},
set : function ()
{
// some couple more fine hacks here
console.log('this too');
}
});
Run Code Online (Sandbox Code Playgroud)
但不幸的undefined是窗口的属性是configurable : false.尝试的其他黑客正在克隆window除了undefined内部window属性之外的对象.并在新的对象上定义新的 …
我是一个新手npm,所以请帮忙.
假设我有一些模块,我正在为每一个使用git存储库,我也安装sinopia了一个私有注册表.问题是我们是2支球队.一个城市的团队和另一个团队在世界尽头.在我的团队中,我已经安装了可在本地网络中使用的私有注册表.这里的问题是,当我们推送git时,另一个团队没有他们自己的私有注册表,即使他们这样做,他们也需要在他们的私有注册表中发布每个模块的每个版本.另一个问题是我们不能(也不想)sinopia通过IP公开服务器.
现在问题是:我们如何配置package.json/ npm来管理私有注册表(如果注册表响应)和git存储库(如果私有注册表没有响应 - 也就是它不存在 - )的依赖关系.
我知道我们可以设置每个依赖项来引用git标签/分支/提交,但我们也希望尽可能使用注册表.
UPDATE
所以基本上我需要一个package.json,知道如果这部分失败:
"dependencies": {
"app.core": "0.1.1"
}
Run Code Online (Sandbox Code Playgroud)
因为私有注册表未安装或不可用,它仍然可以从以下内容加载依赖:
"dependencies": {
"app.core": "git+ssh://git@repo.mydomain.com:group/app-core.git#v0.1.1"
},
Run Code Online (Sandbox Code Playgroud)
另请注意,我更喜欢可以在git存储库中推送的内容,这样任何一个团队都不应该在本地更改package.json.
希望有人可以提供帮助.