当前位置: 首页 > 软件库 > 程序开发 > 工作流引擎 >

grunt-workflow

多玩前端工作流
授权协议 未知
开发语言 JavaScript HTML/CSS
所属分类 程序开发、 工作流引擎
软件类型 开源软件
地区 国产
投 递 者 谢财
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

grunt-workflow 是一个帮助前端开发工程师简化工作的工具,它的主要功能是:

  1. webserver

  2. livereload,能保存文件的时,自动刷新浏览器.

  3. 自动编译sass

  4. 压缩图片

  5. 合并图片

  6. 添加文件注释

  7. 自动补全css3浏览器前缀

  8. 初始化项目目录结构及文件

  9. 支持ejs模板

安装相关软件

  1. 安装 nodejs window 安装地址 , mac 推荐通过brew安装brew install node

  2. 安装 grunt-cli npm install -g grunt-cli

  3. 安装 grunt-init npm install -g grunt-init

  4. 将当前git克隆到本地%USERPROFILE%\.grunt-init\(Mac平台 ~/.grunt-init/),如果没有.grunt-init目录可用mkdir .grunt-init命令创建

  5. 安装 Graphics Magick(gm),下载地址 (Mac平台 brew install GraphicsMagick)

  6. 安装 PhantomJS,下载地址 (Mac平台 brew install phantomjs)

  7. 安装 sass gem install sass

初始化新项目

  1. 在项目目录下执行 grunt-init lego (注意:项目目录要为空文件夹,不然会报错)

  2. 根据提示填写相关的内容

  3. 执行 npm install 命令下载安装相关依赖

快速在当前文件夹打开命令行

  • win7:首先按住Shift键,然后选择某文件夹后或在某文件夹中的空白处右键单击,快捷菜单中会多出“在此处打开命令窗口”,选择这个选项即可

  • Mac:安装 gotoshell

建立软链接

使用下面命令能避免每次在新项目开始前都要使用 npm install 下载相关的grunt插件

  • window: - mklink /d .\node_modules C:\Users\Administrator\Desktop\grunt_plugins\node_modules

  • mac:ln -s ~/Documents/grunt_plugins/node_modules ./node_modules (~/Documents/grunt_plugins/node_modules) 目录是存放grunt插件的文件夹

项目目录结构

└── src
    ├── _index.html
    ├── css
    │   └── lib
    ├── img
    ├── js
    │   └── lib
    ├── sass
    ├── partial
    ├── data
    └── slice
  1. html页面存放在src文件夹,支持ejs模板(见5)。

  2. css存放在 src/css 文件夹,第三方的样式库放在 src/css/lib

  3. js存放在 src/js 文件夹,第三方的样式库放在 src/js/lib

  4. src/slice 文件夹放需要合并的图片;若需要多张雪碧图,则自建子文件夹,一个子文件夹对应一张雪碧图,子文件名为雪碧图名(注意,需要替换雪碧图的css文件,切片使用background-image属性来引入,不使用background属性引入。)

  5. ejs模板片段放在src/partial文件夹,模板数据放在src/data文件夹。配置数据统一在src/data/config.json指定(注意:没有配置的html页面不参与ejs渲染)。

注意:src/css/lib 和 src/js/lib 里的文件是不会被压缩的。

任务

项目安装好了相关的配置就可以在命令行下使用grunt任务

grunt

默认打开一个webserver,查看的文件是在开发目录下,支持livereload,sass自动编译,ejs编译

grunt port:端口号

指定端口打开一个webserver,查看的文件是在开发目录下,支持livereload,sass自动编译,ejs编译

grunt release

生成发布文件,执行gunt release生成一个dest的目录,检测样式文件里的本地资源引用,如果有无效引用则中断任务,否则执行后续任务:编译html,压缩css、js文件,自动生成sprit图片,替换css样式里的链接。dest里的文件是发布使用的。

grunt dest

打开一个webserver,显示dest目录

grunt assets:提交注释

提交dest里面的静态文件(css、js、img)到静态文件服务器,提交路径为%SVN_REMOTE_DIR%/<description>/<name>/<version>,详见注意事项。

grunt zip

打包src和dest文件给技术。其中dest文件夹作如下处理:将 dest/*.html相对路径的静态资源 引用替换为线上路径;若不需替换,资源路径换成 绝对路径

该命令在grunt release后执行,线上路径由 包描述文件(见注意事项) 指定。dest里的静态资源可通过grunt assets或手动上传到assets服务器。

可选配置

配置文件: ~/.grunt-init/config.json

  • IS_EXEC_CUSTOM_CMD 是否启用初始化时执行默认命令,默认不启动。

  • LINK_SRC_NODE_MODULES 建立node_modules软链接的源路径。(建议mac用户指定到~/.node_modules, win用户指定到%USERPROFILE%\.node_modules)

  • OPEN_APP 初始化目录后启动APP打开当前项目。

注意事项

  • 提交到 svn-work 时(需手动提交),只上传配置文件 Gruntfile.jspackage.json 和源码文件夹 src/ 即可

  • 提交到 svn-assets 时,需

    说明:svn-assets提交路径为%SVN_REMOTE_DIR%/<description>/<name>/<version>,对应线上路径为 http://assets.dwstatic.com/<description>/<name>/<version>

    • description,项目类型,取值:project、game、special

    • name,项目名,不要出现中文字符

    • version,项目版本,默认值:1.0.0

    1. 修改模板文件~/.grunt-init/lego/root/Gruntfile.js里面push_svn任务的用户信息

    2. grunt-init lego时注意以下字段的填写,或者在初始化后的 package.json 中修改对应字段


  • Grunt是前端的构建工具,类似后端使用的Ant,也是通过配置各种任务来达到前端代码自动构建的目地。Grunt和 Grunt 插件是通过 npm 安装并管理的,npm是 nodejs 的包管理器,所以第一步需要安装nodejs环境。 安装grunt之前确保npm更新到最新的版本,使用npm update -g npm在命令行中进行升级 1,安装全局的grunt-cli grunt-cli并不是gr

  • package.json:每个项目的根目录下面,一般都有一个package.json文件,定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据)。npm install命令根据这个配置文件,自动下载所需的模块,也就是配置项目所需的运行和开发环境。项目构建:使用构建工具去对 JS、CSS、HTML、LESS、IMG 等进行合并压缩构建到最后实现自动化构建项目。是前端工程

  • 1.下载node.js并安装(nodejs安装完成) 2.安装grunt-cli(命令行) 在控制台输入npm install -g grunt-cli 即可。(cli安装完成) 3.安装grunt(在D盘建一个文件夹里面有三个文件两个文档) 在D盘下的文件夹里输入npm install grunt --save-dev(grunt安装完成) 4.配置Gruntfile.js 在Gruntfile

  • 1.安装好nodeJS后 ,一般都会把npm也安装好的,nodeJs集成npm的,可通过在cmd 分别执行 node -v和 npm -v来查看他们的版本号,如果显示可说明可继续下面的操作 2.想安装grunt一般可以直接在cmd里面执行   npm install grunt grunt-cli 【然而除了第一次我这么写可以生效外,后来都没成功过,什么鬼?我也不知道,可以改成这样写: npm

  • 这是什么 grunt-sprite 是一个 grunt 的前端开发插件。 能干什么 这是一个帮助前端开发工程师将css代码中的切片合并成雪碧图的工具,它的主要功能是: 使用二叉树排列算法,对css文件进行处理,收集切片序列,生成雪碧图 在原css代码中为切片添加background-position属性 生成用于高清设备的高清雪碧图,并在css文件末尾追加媒体查询代码 在引用雪碧图的位置打上时间戳

  • 最近这俩天在写个测试项目,使用grunt来进行转义和压缩。 首先需要执行下 cnpm install grunt-babel --save-dev 就是通过es6来写js,通过less来写样式,但发布调用却不能直接调用es6的js和less,而是通过babel-grunt将es6转成es5,通过lessc将less文件转成css,然后再压缩成压缩文件供html界面调用。 grunt的配置文件内容

  • grunt-spritesmith插件地址:https://github.com/Ensighten/grunt-spritesmith grunt-spritesmith:Grunt task for converting a set of images into a spritesheet and corresponding CSS variables. 翻译过来就是:grunt-sprite

  • 1、初始化项目 npm init 2、全局安装 npm install -g grunt-cli 3、本地安装 npm install grunt --save-dev 会在项目的根目录下生成package.json 需要手动添加Grunt.js或Grunt.coffee文件 Grunt.js或Grunt.coffee文件的首字母必须大写 这与gulp和webpack不同 可以用以下代码初始化Gr

  • 一.自动化构建初体验 Yarn init 新建scss/main.scss yarn add sass --dev 使用命令把scss编译成css ./node_modules/.bin/sass scss/main.scss css/style.css 以上每次把scss编译成css都会返回执行相同的命令,这里就有构建的必要了. 可以在package.json中添加NPM Scripts去定义一

 相关资料
  • 要成为AWK专家程序员,您需要了解其内部结构。 AWK遵循一个简单的工作流程 - 读取,执行和重复。 下图描绘了AWK的工作流程 - Read AWK从输入流(文件,管道或标准输入)读取一行并将其存储在内存中。 执行 (Execute) 所有AWK命令都按顺序应用于输入。 默认情况下,AWK在每一行上执行命令。 我们可以通过提供模式来限制它。 Repeat 重复此过程直到文件结束。 计划结构 现在

  • Here we'll explain the steps to use a single asset with Unity. These steps are general and are meant only as an overview for basic actions. For the example, we'll talk about using a 3D mesh. 这里我们讲解Uni

  • 以下屏幕截图显示了jBPM 5中可用的各种工作流组件。使用这些组件,您可以创建一个工作流来协调您的流程。 您也可以创建自定义任务,但稍后会介绍。 此外,还有一些可用于协调流程的服务任务。 Start Event - 这是每个进程中执行的第一个节点。 您的流程中只能有一个启动节点。 End Event - 此节点表示进程结束。 在进程中可能存在多个此类节点的出现。 Rule Task - 它是一个评

  • 前端工作版块 可以列出很多寻找技术工作的方法. 下面的有限列表是和寻找一份具体的前端工作最相关的资源: frontenddeveloperjob.com authenticjobs.com weworkremotely.com jobs.github.com careers.stackoverflow.com angularjobs.com jobs.emberjs.com jobs.jsninj

  • 前端的工作职称 下面是一个前端开发者在职业发展中各种职称的描述列表. 对于前端开发者最普遍的职称是 "前端开发者" 或者 "前端工程师", 可以根据任何包含 "前端", "客户端", "web UI", "CSS", "HTML" 和 "JavaScript" 的职称推断一个人对 HTML, CSS 和 JavaScript 的了解程度. 前端开发者/工程师 (又称作 Web前端开发者/工程师,

  • 要绘制工作流程,您可以使用调色板中可用的任何组件,如上文所述。 所有工作流程都有一个开始,但它可以有多个结束。 借助屏幕截图,我将描述如何创建工作流程。 在这里,我打开了空白的rf或bpmn文件 要添加任何事件,请从“组件面板”中选择特定事件,然后拖放到右侧。 例如,我选择了开始事件并将其拖到右侧,也是一个发散网关。 现在,需要连接这两个组件。 选择Sequence流程并连接这两个组件。 这样,您