• 翻成中文就是:什么? 不要钱?

  • Data Service 设计分享 at 2017年02月20日

    我想请教的也是写上面的问题。比如说你有一个加入购物车的API, 正常场景就是前端请求,Rails写入并且返回更新后的购物车。那么在加入了nodejs这一层后这类写的流程是怎样的呢?

  • import { XXX } from 'xxx';' 这种显式引用的写法,每个 JS 的文件顶部一对重复代码,严重违反了 DRY 的原则

    全局模块可以用ProviderPlugin定义,不需要重复。

    对于局部需要的模块,我是十分喜欢显示引用。至少有了问题可以方便追溯源头。Rails里面要是加了一些魔法方法,不熟悉项目的话要花好一番功夫琢磨到底是哪个lib或者gem加入了这些东西。

  • 不可以的,你这么做是开历史的倒车。依靠global objects namespace, 别的不说,光是加载顺序依赖就够恶心的了。

    seajs没接触过,不知道这个模块定义是不是require.js或者照规范来的。如果是,可以直接用require.js,如果不是可以考虑略作修改用require.js或者CommonJS系统。

    1. 下定决心要重构。要是没有时间没有决心就算了,其实也没有关系,能跑就挺好的了。
    2. 把所有这个方法下的代码移到一个单独文件,service object也好,function也好(其实最好)。原class用@nodes@interfaces呼叫这个。
    3. 把之前的测试移过来,保证通过。要是没有就得写,还得写详细一点。
    4. 随便玩,直到满意为止。
  • 可能是我比较挑剔,这里面大部分的例子我看来都是为了写例子而写,既不符合原著OOP的风格,也不符合Javascript的惯例。看了三分之一,基本看不下去了。

  • 捕获StandardError是很糟的做法,用异常来代替流程就更糟。其他的或多或少都有些毛病。先多看多学吧,至少把主要API和style guide过一遍。不着急总结,更不着急分享。

  • Built-in classes such as Date, Array, DOM etc cannot be properly subclassed due to limitations in ES5 (for the es2015-classes plugin). You can try to use babel-plugin-transform-builtin-extend based on Object.setPrototypeOf and Reflect.construct, but it also has some limitations. https://babeljs.io/docs/usage/caveats/

  • @mizuhashi 简单地做我觉得是没有问题,或者是只拉取后端部分大致没有交互的模版都可以。但如果要全局做,还要强交互,那我就觉得很难,而且没有必要,稍复杂一点可能会耦合到不想再看。

  • 真的需要Python不妨包装到命令行,或者更复杂一点就加一个服务。两个混在一起不出问题才是不正常。