小编The*_*aru的帖子

Meteor的火焰和Famo.us如何一起玩?

2技术:

  • 流星与火焰模板引擎
  • Famo.us拥有令人敬畏的gui框架

我来自流星边,我个人喜欢使用{{mustache}}(把手)从数据驱动gui,反应式会话/数据库使这真的高效和直观.

现在来了famo.us及其所有优点,但基于代码的gui的缺点是不再有把手的地方......

  • 将两种技术混合在一起的当前做法是什么?
  • 他们完全分离吗?
  • 使用"观察"/"Deps.autorun"机制是一个常见的做法,一个famo.us元素将被流星反应项目更新?

javascript meteor famo.us meteor-blaze

12
推荐指数
1
解决办法
5325
查看次数

Webpack重新编译未更改的文件,减慢构建时间

相关的webpack/webpack问题.

根据我的经验,在堆积了一定数量的组件和/或依赖项之后,在实际项目中使用webpack会变慢.我有一个测试存储库,试图通过以下应用程序来演示:

  • 入口点是A.js,需要B.jsC.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.jsC.js随后将在编译时获得杠杆A.js.之后,在使用时webpack-dev-server,无论何时保存B.js,它的DLL都会被重新编译,A.js会注意到它的一个DLL已经更新,它只需要使用旧的DLL C.js和新的DLL B.js并将它们连接成一个快速的快乐包.

我可以进一步在该分支上进行目录读取或依赖图遍历,为每个组件生成一个DLL,这种方法可能会应用于每个webpack项目.那理论上应该按照我的意愿进行编译.但在那一点上,在我看来,我将重新实现(很差)webpack中的缓存层应该自己做什么,所以这里发生了什么?

javascript node.js webpack webpack-dev-server

9
推荐指数
0
解决办法
1031
查看次数

拖动着名表面并让它在mouseup上转换回原点?

我想拖动一个着名的表面,当我放开它时让它回到原来的位置.我已经采用了"拖动"示例并修改了它,但是当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结尾,并在事件被触发的顺序.我做错了什么/误会?

javascript famo.us

7
推荐指数
2
解决办法
1877
查看次数