2技术:
我来自流星边,我个人喜欢使用{{mustache}}(把手)从数据驱动gui,反应式会话/数据库使这真的高效和直观.
现在来了famo.us及其所有优点,但基于代码的gui的缺点是不再有把手的地方......
相关的webpack/webpack问题.
根据我的经验,在堆积了一定数量的组件和/或依赖项之后,在实际项目中使用webpack会变慢.我有一个测试存储库,试图通过以下应用程序来演示:
A.js
,需要B.js
和C.js
.B.js
很小,并没有很多依赖.C.js
是单片的,有数千个要求.我的期望是,当webpack-dev-server
在测试项目中使用时,每当我保存时B.js
,webpack都应该认识到C.js
并且没有触及任何依赖项.它应该B.js
快速编译(在<10ms内),在缓存中替换它,并A.js
使用C.js
初始编译的缓存版本输出编译.
但是,3002
每次保存时,webpack都会编译隐藏的模块B.js
,从而导致编译时间过长960ms
.这本身并不坏,但如果你添加一些像react-hot
和的加载器螺旋失控babel
.
我确实有一个解决方案:在同一个测试项目上有一个dll
分支.在该分支,你可以运行webpack --config webpack.dll.config.js
生成两个DLL从B.js
并C.js
随后将在编译时获得杠杆A.js
.之后,在使用时webpack-dev-server
,无论何时保存B.js
,它的DLL都会被重新编译,A.js
会注意到它的一个DLL已经更新,它只需要使用旧的DLL C.js
和新的DLL B.js
并将它们连接成一个快速的快乐包.
我可以进一步在该分支上进行目录读取或依赖图遍历,为每个组件生成一个DLL,这种方法可能会应用于每个webpack项目.那理论上应该按照我的意愿进行编译.但在那一点上,在我看来,我将重新实现(很差)webpack中的缓存层应该自己做什么,所以这里发生了什么?
我想拖动一个着名的表面,当我放开它时让它回到原来的位置.我已经采用了"拖动"示例并修改了它,但是当mouseup
回调触发时(我检查过console.log
),修改器转换不是.这是相关的代码:
var surface = new Surface({
size: [200, 200],
content: 'drag',
properties: {
backgroundColor: 'rgba(200, 200, 200, 0.5)',
lineHeight: '200px',
textAlign: 'center',
cursor: 'pointer'
}
});
var draggable = new Draggable({
xRange: [-220, 220],
yRange: [-220, 220]
});
surface.pipe(draggable);
var mod = new Modifier();
var trans = {
method: 'snap',
period: 300,
dampingRatio: 0.3,
velocity: 0
};
surface.on('mouseup', function() {
mod.setTransform(Transform.translate(0, 0, 0), trans);
});
mainContext.add(mod).add(draggable).add(surface);
Run Code Online (Sandbox Code Playgroud)
相当肯定它与顺序/方式,我做add
他们-ing到mainContext
结尾,并在事件被触发的顺序.我做错了什么/误会?