node package manager

jdf

京东前端开发集成解决方案

jdf

  • JDF京东前端开发集成解决方案(Jingdong front-end integrated solution)
  • 目的是合理,快速和高效的解决前端开发中的工程和项目问题
  • 核心提供了前端开发必备的基础的UI和业务组件,并集成调试,构建,布署,代码生成,文档生成,编辑器插件等一系列开发工具
  • 同时提供了前端模块的下载,预览,发布
  • [add]增加编译时server用browser-sync(配置jdf.config.build.hasBrowserSync为true)

  • [add]build时是否在cmd里提示编译信息(配置jdf.config.build.hasCmdLog为true)

  • [fix]build sass/less时报错增加颜色

  • [bug]css编译写内容修正

  • [add]支持命令行下把本地文件夹中所有文件上传至外端机器目录@20161205

    jdf u -c ./localDirxxx /serverDirxxx serverIp
    
  • [add]支持css加autoprefixer,具体配置如下:

    "build":{ "autoprefixer": true }

默认options如下,可增加:

"build":{
	"autoprefixerOptions":{
		"browsers": ["last 2 version", 'Android >= 4.0'],
    	"cascade": true,
    	"remove":true
	}
}

autoprefixer官网https://github.com/postcss/autoprefixer#autoprefixer browsers可参考https://github.com/ai/browserslist#queries

  • [add]支持直接上传至linux server,server上需要有php环境和receiver.php,具体配置如下:

    "host": "172.xxx.xxx.xxx",
    "serverDir": "/export/App/xxx.com/",
    "serverType": "linux"
    

相关上传命令如下:

jdf u (上传js/css/widget)
jdf u -h (上传js/css/widget/html)
jdf u -c ./dist (自定义上传dist文件夹)
  • [bug]https://github.com/putaoshu/jdf/pull/38 对commander.js统一处理相关内容做修正
  • [fix]es6项目只处理js文件夹下的入口文件,即配置build.es6Entry,widget目录中的js不会做处理,主要webpack对js文件中require和import暂时只能处理一个
  • [bug]webpack入口路径fix by cdwangdongwu
  • [add]支持用webpack打包es6,入口参数为build.isEs6 && build.es6Entry,如下

    "build":{
    	"isEs6": true,
    	"es6Entry": {
          	"index": ["./js/index.js"],
            "list": ["./js/list.js"]
        }
      }
    
  • [fix]server页面适应移动端访问

  • 完美支持windows、mac、linux三大系统
  • 生成标准化的项目文件夹
  • 支持本地,联调,线上三种开发流程
  • 每个项目都拥有一个单独的配置文件,按选项统一编译
  • 可快速方便的对模块进行创建,引用,预览,安装和发布
  • 通过积累,可形成完全符合自己业务的模块云服务
  • 支持模块编译,内置模块编译引挚
  • 支持将vm和smarty模版编译为html
  • 支持将sass和less编译为css
  • 支持ES6
  • 自动将页面中的js、css引用转换成combo请求格式
  • 自动压缩优化js、css、png文件
  • 默认给所有静态资源添加CDN域名前缀或后缀戳
  • 支持cmd规范,自动提取文件id和dependencies,压缩时保留require关键字
  • 支持png图片压缩插件,将png24压缩为png8
  • 自动生成css雪碧图,并更新background-position属性值
  • 可将小图片一键生成base64编码
  • 支持图片生成webp格式,并更新相关css图片链接
  • 文件编码统一化,即无论当前文件格式是gbk,gb2312,utf8,utf8-bom,统一输出utf8
  • 一键上传文件到测试服务器,方便其他同学开发预览
  • 支持开启本地服务器,方便调试
  • 支持本地静态文件预览,内置本地开发调试服务器,以及当前目录浏览
  • 支持实时监听文件,文件被修改时会自动编译成css,并刷新浏览器
  • 实时在控制台输出错误信息,方便定位代码错误
  • 支持html/js/css文件格式化
  • 支持html/js/css代码压缩
  • 支持html/js/css文件lint,代码质量检查
  • 支持chrome浏览器的LiveReload插件
  • jdf基于nodejs
  • 安装jdf
    • npm install jdf -g
  • 安装测试
    • 执行 jdf -v 如果出现版本号则说明你已安装成功