JSLite

首先赞下整个作者的出发点,以为web前端标准化做贡献。其实我也想做下贡献,刚看了下JSLite,感觉可以有如下的调整(当然只是个人想法):

  1. 全部依赖应该放到devDependencies里,因为咱在生产环境下咱可以不依赖任何包
  2. 不依赖全局的任何包(比如gulp),开发者可以方便的npm install然后进行开发
  3. 使用npm run xx进行命令行工具管理,比如npm run build, npm run watch, npm run release等,其实跟上条相对应,不用全局就可以用这个了(npm scripts)
  4. 使用karma进行环境测试,使用jasmine进行单元测试(只是个例子,也可以使用mocha),因为这个karma可以跑出整个代码的覆盖率,还可以做到集成测试只跑phantomjs,本地还可以跑别的真实的浏览器来测,么么哒~
  5. 统一整个代码风格并给出docs以方便别人pr

如果使用es6开发,也跟以上没有任何冲突,可以同时进行

这是我一个使用karmaphantomjs的例子:@xuexb zbfe/hash.js

遇到的问题

经我简单的写了个test case发现JSLite是使用gulp-umd打的wrap,但我们测试应该要跑真正的源码(是指打包前),然后发现JSLite.js里的JSLite变量跟window.JSLite变量有冲突,导致test case不通过,目前我是使用在JSLite.js再包一层function解决。

我已经做出相关的case

代码在:@xuexb/JSLite:dev


首先作为一个前端,真心的希望JSLite越做越好!