Git Product home page Git Product logo

jdf's Introduction

jdf

NPM version Build Status

NPM

关于JDF

  • JDF京东前端开发集成解决方案(Jingdong front-end integrated solution)
  • 目的是合理、快速和高效的解决前端开发中的工程和项目问题,主要提供了:
  • 前端命令行工具:集调试、构建、布署为一体
  • 前端模块:下载、预览、发布
  • 前端开发流程:项目构建、编译、输出、联调、上线
  • 前端组件:UI组件和业务组件(内网开源)
  • 前端文档:编码规范、开发规范、组件和工具文档
  • 前端周边扩展:代码文档和示例自动生成工具、代码编辑器插件、可视化工具等

更新日志

安装、使用与快速入门

帮助文档

核心功能

跨平台

  • 完美支持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插件

周边扩展

QQ群

  • JDF官方支持群 305542952

jdf's People

Contributors

beanlee avatar catalsdevelop avatar cfxmj2014 avatar chenxiaochun avatar itbeihe avatar keelii avatar loveky avatar otkhsiao avatar putaoshu avatar wshxbqq avatar zabcd117 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jdf's Issues

mac下安装的问题

安装后执行jdf -v提示env: node\r: No such file or directory的错误。
原因应该是在windows下开发的换行符问题,我给转化成Unix的换行符就可以了。
作者可以在MAC下重现调试一下看看。

csssprite中配置项imagesSuffix设置为添加时间戳的功能没有。

"imagesSuffix"配置项设置为1和2的时候无效
/*
0:不添加任何后缀
1:给css中需要cssSprite的背景图添加后缀,后缀会被添加在文件扩展名的后面。例如:test.png => test.png?20150319161000
2:给css中需要cssSprite的背景图添加后缀,后缀会被添加在文件名的后面,生成一个新的文件。例如:test.png => test20150319161000.png
*/

希望可以添加输出unix格式的选配项

现在输出的是windows格式的换行符,上传svn时候经常遇到问题,上传不上去,只能手动转格式之后在上传。建议添加可以配置输出的格式。(这个可以提吗?如果不成就无视我吧。。。)

字体文件eot ttf等会被过滤 不能上传到服务器

jdf u 的时候字体文件不能被上传到服务器
编译以下代码的时候第二个src不会被加上绝对路径

@font-face {
font-family: 'iconfont';
src: url(/css/i/iconfont.eot); /* IE9_/
src: url(/css/i/iconfont.eot?#iefix) format('embedded-opentype'), /_ IE6-IE8 /
url(/css/i/iconfont.woff) format('woff'), /
chrome、firefox /
url(/css/i/iconfont.ttf) format('truetype'), /
chrome、firefox、opera、Safari, Android, iOS 4.2+/
url(/css/i/iconfont.svg#iconfont) format('svg'); /
iOS 4.1- */
}

怎么做到编码统一化的?

文档提到:“编码统一化,即无论当前文件格式是gbk,gb2312,utf8,utf8-bom,统一输出utf8”
但是我翻看源代码也没看见代码里哪个地方把gbk转变成utf8啊?

最新版的 背景图合并的路径

合并背景的路径希望能得到解决
要不 生成后还得重新再去改一次路径 很不方便

另外有个小问题

就是 如果有不同的scss 文件 比如果 index.scss 然后又import test.scss 生成的背景图会有两份 并且有重复 这个不知道如何 避免

jdf build 失败

jdf build 失败

版本2.1.12

操作

执行命令

$ jdf install demo & cd jdf_demo & jdf build

报错信息

jdf error [jdf.getConfig] - config.json format error
Error: `libsass` bindings not found in /usr/local/lib/node_modules/jdf/node_mod
ules/jdf-sass/node-sass/vendor/darwin-x64-51/binding.node. Try reinstalling `no
de-sass`?
    at Object.sass.getBinaryPath (/usr/local/lib/node_modules/jdf/node_modules/
jdf-sass/node-sass/lib/extensions.js:148:11)

    at Object.<anonymous> (/usr/local/lib/node_modules/jdf/node_modules/jdf-sas
s/node-sass/lib/index.js:16:36)
    at Module._compile (module.js:573:32)
    at Object.Module._extensions..js (module.js:582:10)
    at Module.load (module.js:490:32)
    at tryModuleLoad (module.js:449:12)
    at Function.Module._load (module.js:441:3)
    at Module.require (module.js:500:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/usr/local/lib/node_modules/jdf/node_modules/jdf-sas
s/index.js:1:80)
/usr/local/lib/node_modules/jdf/node_modules/jdf-sass/node-sass/lib/extensions.
js:148

求QQ账号

hi,我是金融这边前端开发,想请教咱们有私有npm包管理服务器吗?
QQ:631359926

提个小建议

VM 模板里面可否提供一个全局方法,用来动态加载广告位。这样的话在调试广告位的时候会相当方便。

sth.getAd('2_789_5238'); // 单个广告位

sth.getAds('2_789_5238-2_789_5238-2_789_5238'); // 批量广告位

如此想必是极好的^!^

window下安装出现问题

在cmd下执行 jdf install demo 一直出现jdf downloading ……………………………………………………………… 不断的出现这个
咋回事? 还有一个问题就是jdf.js中的require('fs'); 这个在文件中没使用的到吧 这个可以去掉吧

jdf upload -nc 报错

jdf error [jdf.getConfig] - config.json format error
TypeError: Cannot read property 'lastIndexOf' of undefined
...

“合并所有引用的widget中的css”功能出错。

config.js里的几个相关配置项
"cssImagesUrlReplace": false, "cssCombo": false, "combineWidgetCss":true

配置后所有widget中的css会合并为根目录css文件夹中的widget.css。
但是widget.css中内容为undefined。

安装完 jdf 后提示 “没有那个文件或目录” “no such file or directory”

环境:
Ubuntu: 13.10
node: v0.10.32
npm: 1.4.28

操作过程:
按照安装说明安装:
npm install jdf -g --save-dev

bug症状:
安装结束后,输入 jdf -v, 提示 “没有那个文件或目录”

失败的解决尝试:
我试过重新安装 node,包括 apt-get 源中安装 以及编译安装 还有使用预编译的版本,都会出现如上错误。

成功的解决尝试:
npm全局安装后,会在 /usr/local/bin/目录下生成一个名为 jdf 的软连接,打开软连接指向的文件,我的机器上是在路径 /usr/local/lib/node_modules/jdf/bin/jdf
然后复制出 jdf 文件内容,自己新建一个文件,粘贴进文件内容,再删除原jdf文件,最后,把我们建的文件重命名为 jdf,
至此,再在terminal输入 jdf -v ,显示 1.6.0 , 问题解决。

jdf build

jdf build 会把 widgetName 下面的所有文件 copy 到 build 目录,应该只copy widgetName 相关的文件吧。

commonjs的问题

jdf 已经是一个构建工具了,为什么不用commonjs的规范来写js,然后在构建过程中把依赖分析好,这样,对于在线上运行时,就可以省掉依赖分析这个步骤,也不用seajs等前端的模块化框架了。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.