思考:

  1.grunt以工程为单位安装插件?

  如果有新工程就要重新安装插件或者把安装好的插件拷贝过去。这样很麻烦,解决方案是需要用grunt的项目统一放在grunt项目中。

  2.每次需要针对项目编写gruntfile.js?

  a.我们可以把文件夹,路径用变量代替。传入xx.json或者用命令行传参的方式。

  还记得initConfig中的grunt.file.readJSON('package.json')这个方法么?我们可以写一个config.json,用这个方法读入就可以获取变量。

 config.json如下 

{
"concat": {
"dist": {
"dest": "./script/"
}
}
}

gruntfile.js中这样读入  

pkg: grunt.file.readJSON('package.json'),
config : grunt.file.readJSON('config.json'),

要使用传入的文件夹可以

1.<%= config.concat.dist.dest %> //模板使用
2.config.concat.dist.dest //直接使用

  b. 用命令行工具传递参数

  还记得console.log(grunt.option('keys'));

命令行中只要这样使用

grunt --keys=1

  在gruntfile.js执行时就就能通过grunt.option('keys')获取到值1

暂时我想到的是以上两种方法可以通用我们的gruntjs而减少编写的成本。

Gruntjs提高生产力(四)的更多相关文章

  1. Gruntjs提高生产力(三)

    以下例子来自真实项目,有所删减 grunt-test project 目录结构如下 一我的目的: 1.在src-dev目录中开发最终产出于src目录 2.src-dev中的index目录相当于一个wi ...

  2. Gruntjs提高生产力(二)

    摆脱混乱的html文件中开发,拥有development与product模式是我们梦寐以求的. 我买的需求是: 1.产出一定格式的目录结构,以供日常开发使用,脚手架功能. 2.在开发模式环境中我们按照 ...

  3. Gruntjs提高生产力(一)

    gruntjs是一个基于nodejs的自动化工具,只要熟悉nodejs或者又一定js经验就可以熟练应用. 1. 安装 a. 保证已安装了nodejs,并带有npm b.安装客户端命令行工具,grunt ...

  4. [置顶] 提高生产力:开源Java工具包Jodd(Java的”瑞士军刀”)

    官方网站:http://jodd.org/ 下载地址:http://jodd.org/download/index.html Jodd=tools + ioc + mvc + db + aop + t ...

  5. [置顶] 提高生产力:Web开发基础平台WebCommon的设计和实现

    Web开发中,存在着各种各样的重复性的工作.为了提高开发效率,不在当码农,我在思考和实践如何搭建一个Web开发的基础平台. Web开发基础平台的目标和功能 1.提供一套基础的开发环境,整合了常用的框架 ...

  6. 提高生产力:开源Java工具包Jodd(Java的”瑞士军刀”)

    官方网站:http://jodd.org/ 下载地址:http://jodd.org/download/index.html Jodd=tools + ioc + mvc + db + aop + t ...

  7. 提高生产力:文件和IO操作(ApacheCommonsIO-汉化分享)

    复制.移动.删除.比较.监控.文件读写 等文件和IO操作是编程中比较常用的功能.        幸运的是,Apache Commons IO等开源组件已经帮我们实现了.        我们可以不用重复 ...

  8. 提高生产力:SpringMVC中,使用扩展数据类型TypedMap接收Web请求参数

    在Web项目中,如果前端MVC框架使用的是SpringMVC,可以使用Map接收前端请求参数,比bean要方便很多. 尤其是SpringMVC和Mybatis一起用的时候,用Map大大减少了需要的be ...

  9. 提高生产力:Web前端验证的标准化

    统一验证标准,减少重复劳动,提高生产力. 当公司内部有多个Web项目的时候,统一验证标准就很有必要了.统一不同项目的验证规则,比如 同为用户名 使用同一套标准,甚至用户名和机构名等也使用同一套标准.( ...

随机推荐

  1. Python(socket编程——1、理论)

    Socket的英文原义是“孔”或“插座”.作为BSD UNIX的进程通信机制,取后一种意思.通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机 ...

  2. php处理restful请求的路由(转载 http://www.jb51.net/article/47333.htm)

    <?php    class Router {        // 路由表        private $routers = array(            array("nam ...

  3. PKU 2506 Tiling(递推+高精度||string应用)

    题目大意:原题链接有2×1和2×2两种规格的地板,现要拼2×n的形状,共有多少种情况,首先要做这道题目要先对递推有一定的了解.解题思路:1.假设我们已经铺好了2×(n-1)的情形,则要铺到2×n则只能 ...

  4. XDU 1031

    #include<stdio.h> #define maxn 1005 int c[maxn][maxn]; int gcd(int a,int b){ ?a:gcd(b,a%b); } ...

  5. maven install jdk版本自动降为1.7

    开发过程中遇到了一个奇怪的现象. IDEA中所有的设置都改成了1.8,但是在执行maven install时却自动降为1.7,报错提示: [ERROR] Failed to execute goal ...

  6. 【PS技巧】创建2D对象的描边阴影

    在本场景中,怪物死亡掉落宝袋.所以在玩家眼里,宝袋是掉落在场景里,而不是像其他界面的UI元素,悬浮在场景上的. 所以,我们需要给宝袋添加阴影,增加它与场景之间的视觉过渡,比较简单的办法是使用阴影,正如 ...

  7. 什么是Socket?简单点,通俗易懂的?

    网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket. 建立网络通信连接至少要一对端口号(socket).socket本质是编程接口(API),对TCP/IP的封装 ...

  8. java: -source 1.6 中不支持 switch 中存在字符串

    最近在使用IDEA进行单个文件编译的时候给我报错,如题. 解决办法:将 Modules --->Sources ---> Language level 改为 7.0就ok了.

  9. ELK之elasticsearch5.6的安装和head插件的安装

    这里选择的elasticsearch为5.6的新版本,根据官方文档有几种暗装方式: https://www.elastic.co/guide/en/elasticsearch/reference/cu ...

  10. 20145331 《Java程序设计》第8周学习总结

    20145331 <Java程序设计>第8周学习总结 教材学习内容总结 14.NIO与NIO2 高级的输入输出处理,可以使用NIO(New IO),NIO2是文件系统的API Channe ...