grunt构建项目压缩文件和合并文件

今天要压缩文件,配置那东西好久了,记录一下配置的全过程:

1. 下载Node.js官方Windows版程序:(下载地址:http://nodejs.org/#download

从0.6.1开始,Node.js在Windows平台上提供了两种安装方式,一是.MSI安装文件,另外还有一个.EXE可执行文件。直接选择INSTALL即可下载MSI自动安装包。我使用的版本为Windows Installer (.msi)  64-bit

2. 打开下载的node-v0.10.24-x64.msi安装包,既可完成自动安装。如果你下载的是EXE可执行文件,可以在D盘创建D:\lmq\gruntjs\nodejs目录,并将node.exe保存在这个目录中。并将"D:\lmq\gruntjs\nodejs"加入系统环境变量PATH中,便于在任意位置执行node应用。(注意:要先关闭命令窗口,在打开方能起作用),可用 node -v 查看版本。

3. 下载npm源代码:(下载地址:https://github.com/isaacs/npm/tags

目前在写本文章时最新版本是v1.3.21,下载此版本即可:

https://github.com/isaacs/npm/archive/v1.3.21.zip

4. 将npm源代码解压到D:\lmq\gruntjs\npm目录中
在命令提示符窗口中执行下面的操作,完成npm的安装:(出现rm错误没有关系,因为是Linux命令)

	D:>cd D:\lmq\gruntjs\npm
	D:\lmq\gruntjs\npm>node cli.js install -gf
      5. NPM安装完成后,将nodejs下面的子目录node_modules"D:\lmq\gruntjs\nodejs\node_modules"加入系统环境变量NODE_PATH中。可用npm -v来查看npm的版本。
     6. 借助npm来安装grunt-cli

 卸载旧版本grunt(<0.4.0) (没装过请忽略)

     npm uninstall grunt -g

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

      安装完成可用用grunt -v来查看版本。

 7配置grunt

  •      package.json //项目自动化所依赖的相关插件。
  •      Gruntfile.js //项目自动化工作流配置文件,重要

       1) package.json 文件修改 官方文件地址

package.json

         2) Gruntfile.js 文件修改 官方文件地址

Gruntfile.js

        demo的操作:以下命令需进入到项目的根目录(在命令行面板定位到项目根目录)操作

       1) 先配置好package.json、Gruntfile.js两个文件, 文件打包下载
       2)执行命令自动下载相对应的Grunt插件
	npm install
       3)启动文件变更监控(livereload) 【视频演示戳这里】
	grunt live
      4) 编码完成后Build
	grunt build


8. 构建动态文件对象

当你希望处理大量的单个文件时,这里有一些附加的属性可以用来动态的构建一个文件. 这些属性都可以指定在CompactFiles Array映射格式中(这两种格式都可以使用)。

  • expand 设置true用于启用下面的选项:

  • cwd 相对于当前路径所匹配的所有src路径(但不包括当前路径。)

  • src 相对于cwd路径的匹配模式。

  • dest 目标文件路径前缀。

  • ext 使用这个属性值替换生成的dest路径中所有实际存在文件的扩展名(比如我们通常将压缩后的文件命名为.min.js)。

  • flatten 从生成的dest路径中移除所有的路径部分。

  • rename 对每个匹配的src文件调用这个函数(在执行extflatten之后)。传递dest和匹配的src路径给它,这个函数应该返回一个新的dest值。 如果相同的dest返回不止一次,每个使用它的src来源都将被添加到一个数组中。

在下面的例子中,minify任务将在static_mappingsdynamic_mappings两个目标中查看相同的src-dest文件映射列表, 这是因为任务运行时Grunt会自动展开dynamic_mappings文件对象为4个单独的静态src-dest文件映射--假设这4个文件能够找到。

可以指定任意结合的静态src-dest和动态的src-dest文件映射。

grunt.initConfig({
    uglify: {
        static_mappings: {
            //由于这里的src-dest文件映射时手动指定的, 每一次新的文件添加或者删除文件时,Gruntfile都需要更新
            files: [
                {src: 'lib/a.js', dest: 'build/a.min.js'},
                {src: 'lib/b.js', dest: 'build/b.min.js'},
                {src: 'lib/subdir/c.js', dest: 'build/subdir/c.min.js'},
                {src: 'lib/subdir/d.js', dest: 'build/subdir/d.min.js'}
            ]
        },
        dynamic_mappings: {
            //当'uglify'任务运行时Grunt将自动在"lib/"下搜索"**/*.js", 然后构建适当的src-dest文件映射,因此你不需要在文件添加或者移除时更新Gruntfile
            files: [
                {
                    expand: true, //启用动态扩展
                    cwd: 'lib/', //批匹配相对lib目录的src来源
                    src: '**/*.js', //实际的匹配模式
                    dest: 'build/', //目标路径前缀
                    ext: '.min.js' //目标文件路径中文件的扩展名.
                }
            ]
        }
    }
});

grunt的详细配置可参考:http://www.gruntjs.org/article/getting_started.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值