我最近开始玩node.js,但是我迷失了大量不同版本的节点,npm,nvm和其他软件包.我不知道全局安装什么以及本地安装了什么(如果在本地,那么包如何知道它们可以使用哪些版本的节点?).
我想总结一下不同安装选项的作用.具体来说:
nvm时apt-get,make install或使用其他方式安装节点的位置?nvm改变我~/.profile而不是在一个系统可识别的bin文件夹中安装自己?nvm可以安装不同版本的节点 - 我为什么要这样做?我可以在本地安装它们,对吗?npm安装包在哪里?我看到它检查了包的aganist版本的Node,当节点升级时这些包会发生什么?npm,nvm和nave?编辑:有很多的安装节点的方式在这里,这让我更糊涂了......
我写了这样的东西:
instance Functor (Either e) where
fmap _ (Left a) = Left a
fmap f (Right b) = Right (f b)
Run Code Online (Sandbox Code Playgroud)
如果我只想fmap更改值,我该如何做同样的事情Left呢?
我的意思是,我使用什么语法来表示我使用的是type Either _ b而不是Either a _?
我正在尝试使用bootstrap variables.less文件处理一些网格宽度,但我想使用SASS而不是LESS.
我有以下代码:
jqGrid.scss
@import url('../../Content/bootstrap/bootstrap-ui/less/variables.less');
@mixin colWidthPercent($columnNum, $widthPercent) {
width: @screen-sm-min;
}
Run Code Online (Sandbox Code Playgroud)
它不喜欢@ screen-sm-min,我假设因为它是一种LESS格式.
有没有办法混合.less文件和.sass文件?
我正在Backbone中开发一个大项目(大约8000行javascript,不包括外部库),我正在考虑迁移到AngularJS.
目前,我有很多代码可以处理DOM更改,事件的绑定和解除绑定.我正在使用Mustache进行模板渲染.大多数数据都加载了AJAX,并存储在Backbone模型中,其中一些模型使用BackboneRelational.我正在使用大约10个小jQuery插件来做奇特的UI东西.
我决心做这次迁移,但是我担心我的最后期限.所以问题是:
interface Foo<T> { ... }
class Bar implements Foo<Baz> { ... }
Run Code Online (Sandbox Code Playgroud)
我有一个Bar对象.如何获得它的价值T(Baz)?
到目前为止,我只是设法获得界面T,但我看不出有办法获得它的价值.
提前致谢.
您可能会问,为什么我要这样做 - 这是因为我正在使用一个类(来自外部库),它在静态初始化程序中执行操作,我需要知道它是否已经完成.
我看了看ClassLoader,但没有找到任何看起来有用的东西.有任何想法吗?
现在,每个流行的浏览器都支持 History API .似乎不再需要哈希回退,_escaped_fragment_技巧或其他变通办法.像History.js这样的2013年酷图书馆现在似乎毫无用处.但是有一些事情我不确定 - 例如标题处理似乎很棘手,因为显然title参数中pushState没有做任何事情.
我的问题是,我真的可以依赖历史API在浏览器中表现一致吗,还是我还需要一些特定于浏览器的代码?这也意味着:我是否需要在不同的浏览器中运行集成测试来测试我的代码呢?如果存在不一致之处,那么它们是什么?(注意我只对现代浏览器感兴趣,所以没有IE <11).
也许为大型SPA实施路由的人可以分享他们的经验吗?
javascript cross-browser history.js html5-history single-page-application
在将React升级0.13到之后v0.14.0-beta3,我在单元测试中收到了很多这样的警告:
Warning: ReactDOMComponent: Do not access .props of a DOM node; instead, recreate the props as `render` did originally or read the DOM properties/attributes directly from this node (e.g., this.refs.box.className). This DOM node was rendered by `Button`.
Run Code Online (Sandbox Code Playgroud)
它们是由我的单元测试引起的,例如:
it('should render to a <a> when href is given', function () {
var button = TestUtils.renderIntoDocument(<Button className="amazon" href="#">Hello</Button>);
expect(TestUtils.scryRenderedDOMComponentsWithTag(button, 'button').length).toBe(0);
expect(TestUtils.scryRenderedDOMComponentsWithTag(button, 'a').length).toBe(1);
expect(TestUtils.scryRenderedDOMComponentsWithTag(button, 'a')[0].props.href).toBe('#');
expect(TestUtils.scryRenderedDOMComponentsWithTag(button, 'a')[0].props.className).toBe('amazon Button');
});
Run Code Online (Sandbox Code Playgroud)
我该如何解决?是否有任何推荐的测试方法来测试这样的DOM元素?
在python中,我可以这样做:
args = [1,2,3,4]
f(*args) # this calls f(1,2,3,4)
Run Code Online (Sandbox Code Playgroud)
这在Java中可行吗?
澄清 - f有一个变长的参数列表.
我希望这段代码解释了这个问题:
class Foo {
void a() { / *stuff */ }
}
class Bar extends Foo {
void a() { throw new Exception("This is not allowed for Bar"); }
class Baz {
void blah() {
// how to access Foo.a from here?
}
}
}
Run Code Online (Sandbox Code Playgroud)
我知道我可能做错了什么,因为继承可能不应该以这种方式使用.但这是我情况下最简单的方法.而且,除此之外,我只是好奇.可能吗?
java ×4
javascript ×2
angularjs ×1
arguments ×1
backbone.js ×1
classloader ×1
generics ×1
haskell ×1
history.js ×1
inheritance ×1
less ×1
node.js ×1
npm ×1
package ×1
python ×1
reactjs ×1
refactoring ×1
reflection ×1
sass ×1
typeclass ×1
types ×1
unit-testing ×1