- 浏览: 449063 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
ubuntu的疯狂:
推荐一份完整的教程:http://blog.ddlisting ...
Emberjs学习 -
ptz19:
请问,如果把合并前的文件,不要dest 目标目录来。如: js ...
gulp下静态资源的合并、压缩、MD5后缀 -
zhouzq1008:
楼主,还有个问题,<a href="" ...
gulp下静态资源的合并、压缩、MD5后缀 -
zhouzq1008:
感谢楼主,用到了您的代码, 但现在好像有改动 否则会报错:修改 ...
gulp下静态资源的合并、压缩、MD5后缀 -
denverj:
感谢分享~
Emberjs学习
Gruntfile.js
页面调用:
工程目录:
代码:
module.exports = function(grunt) { grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), //源码 src: "asserts", //输出 dist: "dist", transport: { options: { paths:["<%=src%>/sea-modules"], alias: { "jquery": "lib/jquery.js" } }, modules: { files : [ { cwd: '<%=src%>/sea-modules', expand: true, src: '**/*.js', dest: '<%=dist%>/sea-modules' } ] }, dwstatic: { options:{ }, files : [ { cwd: '<%=src%>', expand: true, src: 'dwstatic/**/*.js', dest: '<%=dist%>' } ] } }, copy:{ moduleRes:{ files:[ {expand: true, cwd: '<%=src%>/sea-modules/css', src:['**'],dest: '<%=dist%>/sea-modules/css'}, {expand: true, cwd: '<%=src%>/sea-modules/img', src:['**'],dest: '<%=dist%>/sea-modules/img'} ] }, staticRes:{ files:[ {expand: true, cwd: '<%=src%>/dwstatic/css', src:['**'],dest: '<%=dist%>/dwstatic/css'}, {expand: true, cwd: '<%=src%>/dwstatic/images', src:['**'],dest: '<%=dist%>/dwstatic/images'} ] } }, concat: { //合并一个公用的基础js,并且利用 preload插件,让其前置加载。 aio: { options: { paths:["<%=dist%>/sea-modules"], include: "all" }, files: { "<%=dist%>/sea-modules/aio.js": ["<%=dist%>/sea-modules/aio.js"] } } }, uglify:{ allJs:{ files:[{ expand: true, cwd: '<%=dist%>', src: ['**/*.js', '!**/*-debug.js'], dest: '<%=dist%>' }] } }, cssmin: { allCss: { expand: true, cwd: '<%=dist%>', src: ['**/*.css'], dest: '<%=dist%>' } } }); grunt.loadNpmTasks('grunt-contrib-copy'); grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.loadNpmTasks('grunt-contrib-cssmin'); grunt.loadNpmTasks('grunt-cmd-transport'); grunt.loadNpmTasks('grunt-cmd-concat'); grunt.registerTask('min', ['uglify','cssmin']); grunt.registerTask('default', ['transport', 'concat','copy','uglify','cssmin']); };
页面调用:
<!doctype html> <html> <head> <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> <title>Image preview example</title> <link type="text/css" rel="stylesheet" href="asserts/sea-modules/css/common.css" /> <script id="seajsnode" src="http://shawn.yy.com:1234/www/seajsDemo/asserts/sea-debug.js"></script> <script type="text/javascript" src="http://shawn.yy.com:1234/www/seajsDemo/asserts/seajs-css.js"></script> <script type="text/javascript" src="http://shawn.yy.com:1234/www/seajsDemo/asserts/seajs-preload.js"></script> <style> pre{display:block;background:#000;color:green;padding:20px;font-weight:bold;} </style> </head> <body> <pre> npm 安装的包: npm install -g grunt-cli npm install grunt --save-dev npm install grunt-cmd-transport --save-dev npm install grunt-cmd-concat --save-dev npm install grunt-contrib-uglify --save-dev npm install grunt-contrib-cssmin --save-dev </pre> <input id="pop" value="pop" type="button" class="greenbtn largebtn"/> <script> //静态服务器地址 var staticBase = "http://shawn.test.com:1234/www/seajsDemo/dist/"; if(location.search){ staticBase = "/www/seajsDemo/asserts/"; //使用本地资源 } seajs.config({ preload:["aio"], base: staticBase + "sea-modules/", alias: { "jquery": "lib/jquery.js" }, vars: { 'locale': 'zh-CN' //国际化支持 }, paths:{ //dwstatic开头的模块,将被重新映射到具体的资源路径。 "dwstatic" : staticBase + "dwstatic" }, map:[ [/^(.*\.(?:js|css))(.*)$/i, '$1?ver=20150615']] }); </script> <script> //【规范】:凡是dwstatic开头的资源,视为业务模块,要求放置在dwstatic目录下 seajs.use("dwstatic/index"); //seajs.use("dwstatic/index-debug") </script> </body> </html>
工程目录:
代码:
发表评论
-
webpack简单打包PC网站前端资源
2016-02-23 14:30 1693:arrow: 1. 纯前端的打包输出,比较有局限 2 ... -
js平滑滚动回到顶部
2015-06-10 11:42 4016优先使用 requestAnimationFrame实现。 实 ... -
fis-amd 的使用与修改
2015-05-26 16:14 3957https://github.com/fex-team/fis ... -
scrollMagic 视差与滚动动画GSAP
2015-05-19 18:14 4447scrollMagic(https://github.com/ ... -
skrollr-视差滚动动画插件
2015-05-19 14:18 1743skrollr ( https://github.com/Pr ... -
stellar插件的使用
2015-05-18 17:30 1795<!DOCTYPE html> < ... -
icon font VS svg font
2015-05-14 15:21 1212关于字体图标和SVG图标,CSS TRICK网站有较好的说明。 ... -
gulp下静态资源的合并、压缩、MD5后缀
2015-05-05 15:48 22633var gulp = require('gulp'); ... -
DOMContentLoaded VS onload VS onreadystatechange
2015-04-30 14:50 70101. DOMContentLoaded 在页面html、scr ... -
简单的css3全屏滚动
2015-04-27 16:41 1450<!DOCTYPE html> <ht ... -
jquery插件treetable 的使用
2015-04-20 16:12 12002插件的文档写得不是很好,为了能弄出异步加载的功能,小折腾了一番 ... -
sublime 侧边栏字体大小修改
2015-04-16 10:46 3834【转载自:http://jekhy.com ... -
移动端的“点透”问题
2015-04-15 14:13 1661移动端的“点透”问题,这篇博文有较好的说明: http://w ... -
scheme缺少,ie的bug
2015-04-01 17:34 533在页面上定位一个资源(JS/CSS/image),通常的url ... -
大整数相加
2015-03-26 22:18 937function repeatStr(ch, n){ ... -
getBoundingClientRect 跨浏览器实现
2015-03-18 18:30 1118<head> <script ... -
window.name 跨域
2015-03-18 17:29 900window.name跨域的基础是:iframe页面在其url ... -
window.name 跨域
2015-03-18 17:27 1window.name跨域的基础是:iframe页面在其ur ... -
HTML History API
2015-03-13 18:05 1137// 替换当前浏览器history的最后一项记录。 hi ... -
爬取网站的图片之一
2015-03-05 18:12 895var http = require('http' ...
相关推荐
"grunt-react-seajs"就是基于Grunt的插件,它的核心功能是将React组件转换为可由SeaJS加载的模块格式,这样,即便是在使用SeaJS的项目中,也能无缝集成React组件。 使用"grunt-react-seajs"的过程通常包括以下步骤...
本资源主要关注的是如何在Node.js环境下,结合Sea.js模块加载器和Grunt构建工具来优化前端项目的开发流程。 **Node.js** 是一个基于Chrome V8引擎的JavaScript运行环境,它提供了一个轻量级且高效的平台,用于开发...
基于seajs的模块化方案,配合grunt构建配置 主要用到了grunt的grunt-cmd-transport、grunt-cmd-concat、grunt-contrib-uglify、grunt-contrib-copy 这几个模块,实现模块依赖分析,模块合并,代码压缩等功能 使用...
Grunt,由Tom Dye创建,是一款基于Node.js的构建工具,它能够自动执行前端项目中的重复性任务,如编译Less或Sass,压缩JavaScript和CSS,合并文件等。Grunt的核心在于其配置文件`Gruntfile.js`,开发者可以根据项目...
1. **模块化管理**:Seajs实现了CMD(Common Module Definition)规范,允许开发者在浏览器端定义、加载和使用模块。CMD与服务器端的CommonJS类似,但延迟执行和异步加载是其显著特点,适合浏览器环境。 2. **模块...
总结来说,`grunt-cmd-package` 是前端开发中一款实用的Grunt插件,它极大地简化了Seajs模块的合并工作,提升了项目构建的效率。而`grunt-cmd-combo-master` 则为开发者提供了深入研究和定制该插件的机会,帮助...
`grunt-cmd-transport-wnd` 是一个专门用于前端构建的开源库,它基于 Grunt,一个强大的JavaScript任务运行器,旨在帮助开发者自动化执行各种重复性工作,如编译、测试、清理和部署等。`grunt-cmd-transport-wnd` 的...
"seajs-flbox"是一个基于Sea.js的前端框架或库,它可能是为了简化Web开发而设计的。Sea.js是一款流行的JavaScript模块加载器,它遵循CommonJS规范,使得在浏览器环境中可以实现模块化开发,便于管理和组织代码。Fl...
在前端项目中,Grunt-cmd-transport-xd作为一个Grunt插件,可以方便地集成到Grunt工作流中,帮助开发者实现JavaScript模块的转换,确保代码在浏览器中的正确运行。 该插件的核心工作原理是解析JavaScript源文件中的...
之前的项目一直采用grunt来构建,然后用requirejs做模块化,requirejs官方有提供grunt的插件来做压缩合并。现在的项目切到了gulp,模块化用起了seajs,自然而然地也想到了模块合并压缩的问题。 然后一开始在解决这个...
2. **构建工具**:在 Node.js 环境下,可以利用 Gulp、Grunt 或 Webpack 等构建工具,结合 Sea.js 的构建插件(如 seajs-combo,seajs-env 等),进行自动化构建流程,包括模块合并、压缩、环境适配等。 3. **模块...
了解 Yeoman 脚手架、NPM/Bower等依赖管理工具,以及Grunt/Gulp/Webpack构建工具。 **第八阶段:HTML5原生移动应用开发** 学习Cordova和PhoneGap用于混合应用开发,了解Ionic框架结合Angular构建APP,以及React ...
* 面向组件编程:面向组件编程的方式、面向组件编程的实现原理、面向组件编程实战、基于组件化思想开发网站应用程序 * 面向模块编程:AMD设计规范、CMD设计规范、RequireJS、LoadJS、淘宝的SeaJS 第七阶段:主流的...