grunt requireJS 的基础配置
module.exports = function(grunt){
//grunt的配置我就不叨叨了 自己看官网就ok了
//我就介绍下grunt的依赖插件grunt-contrib-requirejs
//专门打包requeirjs项目的
grunt.initConfig({
//此处的requirejs的配置和requeirjs.config要区分开,那个是requeirjs项目加载配置
//这个是 grunt-contrib-requirejs打包配置
requirejs: {
build: {
options: {
//此处是文件Gruntfile的相对位置
appDir: './js',
//设置默认路径 ./app/js
baseUrl : 'source/modules/app',
//设置压缩后的路径 ./build
dir: './js/build',
// optimize: "uglify",
// // 使用 UglifyJS 时的可配置参数
// // See https://github.com/mishoo/UglifyJS for the possible values.
// uglify: {
// toplevel: true,
// ascii_only: true,
// beautify: true,
// max_line_length: 1000
// },
// 是否开启严格模式
// 由于很多浏览器不支持 ES5 的严格模式,故此配置默认值为 false
useStrict: false,
// 处理级联依赖,默认为 false,此时能够在运行时动态 require 级联的模块。为 true 时,级联模块会被一同打包
findNestedDependencies: true,
//这里paths 是被打包文件所需要的依赖文件以及被打包的文件
/*
./app/js/main.js下的代码
requirejs([
'angular',
'jquery',
'app'
], function (angular, $, app) {
......
})
*/
//需要三个angular jquery app
//那么 其他的呢? 其他的模块会按照依赖关系也被打包进去
//比如 app需要 ./app/js/controller/myCon.js grunt就自动把他打包进去了
//我们只管 被打包的文件和此文件requirejs()函数加载的依赖 ....楼主好啰嗦
paths: {
"jquery": "../../lib/jquery",
"tipMod": "../public/tipMod",
"ajax":"../public/ajax",
"echart":"../../lib/echart/build/dist/echarts",
"myEchart.extend":"../public/myEchart.extend"
},
shim:{
'myEchart.extend':['jquery',"echart"]
},
//requiejs.config里面配置了依赖关系和全局变量那为什么这还需要配置
//因为 打包后代码的变量将被替换只有a b c d类似简单的变量了
//那 angularjs自定义模块(比如myCon.js)就报undefined了
//此处配置了,打包后就不报错了,grunt-contrib-requirejs给在中间转了一下
// shim: {
// angular : {
// deps : ['jquery'],
// exports : 'angular'
// },
// jquery : {
// exports : '$'
// }
// },
//此处的modules就是要打包的文件(模块)
//我们例子项目因为通过main.js就把整个项目模块 关联了起来
//main ->angular+jquery+app ->myCon->mySer
//所以我只打包main.js grunt就自动把其他依赖文件按依赖关系(顺序)打包进去
modules: [{
name: 'addInterface',
exclude:['jquery']//打包时去掉一些不想包含进入的文件
},
{
name: 'addService'
},{
name: 'applyService'
},{
name: 'editInterface'
},{
name: 'interfaceList'
},{
name: 'messageService'
},{
name: 'moreService'
},{
name: 'serviceInfo'
}]
}
}
},
});
grunt.loadNpmTasks('grunt-contrib-requirejs');
grunt.registerTask('build', ['requirejs']);
}
grunt requireJS 的基础配置的更多相关文章
- grunt基础配置
grunt基础配置 要使用grunt来管理项目,一般需要如下的几个步骤: 安装grunt命令行工具grunt-cli 在项目中安装grunt 安装grunt插件 建立并配置Gruntfile.js 安 ...
- 深入浅出 webpack 之基础配置篇
前言 前端工程化经历过很多优秀的工具,例如 Grunt.Gulp.webpack.rollup 等等,每种工具都有自己适用的场景,而现今应用最为广泛的当属 webpack 打包了,因此学习好 webp ...
- StackExchange.Redis帮助类解决方案RedisRepository封装(基础配置)
本文版权归博客园和作者吴双本人共同所有,转载和爬虫,请注明原文地址.http://www.cnblogs.com/tdws/p/5815735.html 写在前面 这不是教程,分享而已,也欢迎园友们多 ...
- Hibernate 基础配置及常用功能(三)
本章重点讲述Hibernate对象的三种状态以及如何配置二级缓存 有关Hibernate的三种状态如何相互转换网上都能查到,官方文档描述的也比较详细.这里主要是针对几个重点方法做代码演示. 一.状态转 ...
- Emacs学习心得之 基础配置
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Emacs学习心得之 基础配置 1.前言2.基础配置 一.前言 本篇博文记录了Emacs的一 ...
- nginx 的基础配置[转]
nginx 的基础配置 分类: 工具软件2013-11-13 23:26 11人阅读 评论(0) 收藏 举报 目录(?)[-] 管理配置文件 全局配置 虚拟机server配置 location配置 ...
- freeRadius 基础配置及测试
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...
- Oracle 10g DataGuard手记之基础配置
DataGuard为企业数据的高可用性,数据安全以及灾难恢复提供支持,一般由一个primary db与几个物理或逻辑standby db组成一个DataGuard配置. 系统环境 操作系统为windo ...
- SpringMVC最基础配置
SpringMVC和Struts2一样,是前后台的一个粘合剂,struts2用得比较熟悉了,现在来配置一下SpringMVC,看看其最基础配置和基本使用.SpriingMVC不是太难,学习成本不高,现 ...
随机推荐
- 【题解】洛谷P1073 [NOIP2009TG] 最优贸易(SPFA+分层图)
次元传送门:洛谷P1073 思路 一开始看题目嗅出了强连通分量的气息 但是嫌长没打 听机房做过的dalao说可以用分层图 从来没用过 就参考题解了解一下 因为每个城市可以走好几次 所以说我们可以在图上 ...
- CCF认证201803-2 碰撞的小球 java代码实现。
问题描述 数轴上有一条长度为L(L为偶数)的线段,左端点在原点,右端点在坐标L处.有n个不计体积的小球在线段上,开始时所有的小球都处在偶数坐标上,速度方向向右,速度大小为1单位长度每秒. 当小球到达线 ...
- TCP|UDP|Http|Socket
TCP_IP.Http.Socket的区别 - 计算机网络知识库 iOS-Socket网络通信-框架与API - 简书 CocoaAsyncSocket + Protobuf 处理粘包和拆包问题 - ...
- ajax 动态载入html后不能执行其中的js解决方法
事件背景 有一个公用页面需要在多个页面调用,其中涉及到部分js已经写在了公用页面中,通过ajax加载该页面后无法执行其中的js. 解决思路 1. 采用附加一个iframe的方法去执行js,为我等代码洁 ...
- source .bashrc 报错:virtualenvwrapper.sh: There was a problem running the initialization hooks.
在Ubuntu下安装完virtualenv.virtualenvwrapper,然后设置环境文件 .bashrc 接着 source .bashrc,产生错误信息 首先确认了 libpam-mount ...
- 浅谈es5和es6中的继承
首先给大家介绍下在es5中构造函数的继承 function A(){ 2 //构造函数A 3 this.name="我是A函数"; 4 } 5 6 A.prototype={ 7 ...
- React项目的最佳实践
项目代码 从零开始简书项目 从我第一次接触vue这个框架已经过了快一年的时间,陪伴我从前端小白到前端工程师,前端时间也是使用了 ts+vue这样的组合写代码,明显感觉vue与ts似乎没有产生比较好 ...
- error:0906D064:PEM routines:PEM_read_bio:bad base64 decode
今天在使用easywechat对接企业打款到银行卡时,遇到了两个错误 error:0906D064:PEM routines:PEM_read_bio:bad base64 decode 和 erro ...
- PHP 变量分页标签页面源代码技术分享
最近在研究PHP的常规变量的分页源代码. 现在发布一个给大家看一下. defined('IN_DUOAO') or exit('No permission resources.');$smarty ...
- Spark Streaming 进阶与案例实战
Spark Streaming 进阶与案例实战 1.带状态的算子: UpdateStateByKey 2.实战:计算到目前位置累积出现的单词个数写入到MySql中 1.create table CRE ...