requireJs require.config公共配置
//场景:让require.config配置文件成一个公共文件,每个页面引用这个公共配置
//方式一样例:
require.config({
baseUrl: (function () {
var pathName = document.location.pathname;
var index = pathName.substr(1).indexOf("assets/");
var result = pathName.substr(0, index + 1);
return result;
})()+'assets/js/', //基础目录,最好使用绝对路径,不然被路径搞得晕头转向,/开头, (../上一级目录 ./当前目录 /根目录)
paths:{
"jquery":"plugins/jquery/jquery-1.8.0.min",
"text":"plugins/require-text/text",
'Handlebars':'plugins/handlebars/handlebars',
'underscore':'plugins/underscore/underscore-min'
},
shim:{
'pocFilter':{
deps:['jquery'],
exports: 'pocFilter'
}
}
}); //引用require.js
<script src="scripts/require.js" data-main='scripts/business/example'></script> //example.js使用公共配置
require(['scripts/config'], function() {
// Configuration loaded now, safe to do other require calls
// that depend on that config.
require(['jquery'], function($) { });
}); //方式二: 1、html页面:
<script src="require.js" defer async="true" data-main="page1"></script> 2、page1.js:
require(['config'],function(){
require(['app/controller1'])
}) 3、controller1.js:
define(function(require,exports,module){
var $=require('jquery');
console.info($)
}) //参考资料-https://github.com/requirejs/example-multipage.git //模块定义方式 //1.简单的键值对形式 Simple Name/Value Pairs
define({
"name":"leyi",
"sex":"male"
}); //2.定义函数型模块 Definition Functions
define(function(){
function setName(name){
console.info(name)
}
function setSex(sex){
console.info(sex)
} return {
"setName":setName,
"setSex":setSex
}
}); //2.定义函数型模块(有依赖模块) Definition Functions with Dependencies define(['jquery'],function($){
return {
"lookDependencies":function(){
console.info($)
}
}
}); //3.模块不必返回对象。允许从函数中返回任何有效值 define(['jquery'],function($){
return function(){
return 'hello world!'
}
}); //4.用commonJS方式定义模块
define(function(require,exports, module){
var $=require('jquery');
return function(){
console.info($)
}
}) //5.定义一个有名称的模块(不推荐显式指定模块名称)
define("leyi",function(require,exports, module){
var $=require('jquery');
return function(){
console.info($)
}
}); //注意事项: /*一个文件一个模块: 每个Javascript文件应该只定义一个模块,
这是模块名-至-文件名查找机制的自然要求。
多个模块会被优化工具组织优化,但你在使用优化工具时应将多个模块放置到一个文件中。*/ /*
define()中的相对模块名: 为了可以在define()内部使用诸如require("./relative/name")的调用以正确解析相对名称,
记得将"require"本身作为一个依赖注入到模块中:
define(["require", "./relative/name"], function(require) {
var mod = require("./relative/name");
});
或者更好地,使用下述为转换CommonJS模块所设的更短的语法:
define(function(require) {
var mod = require("./relative/name");
});*/
requireJs require.config公共配置的更多相关文章
- spring cloud (八) Config client 和项目公共配置
1 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="h ...
- SpringCloud创建Config多客户端公共配置
1.说明 基于已经创建好的Spring Cloud配置中心, 在配置中心仅保存一套配置文件, 多个客户端可以通过配置中心读取到相同的配置, 而不需要在每个客户端重复配置一遍, 下面以一个Config ...
- requirejs、backbone.js配置
requirejs初探 参考资料官网:http://requirejs.org中文译文:http://makingmobile.org/docs/tools/requirejs-api-zh reuq ...
- avalon 中require.config源码分析
/********************************************************************* * 配置系统 在系统运行的开始就需要读取系统中requir ...
- vue-cli的webpack模版,相关配置文件dev-server.js与webpack.config.js配置解析
1.下载vue-cli npm install vue-cli -g vue-cli的使用与详细介绍,可以到github上获取https://github.com/vuejs/vue-cli 2.安装 ...
- springcloud-spring cloud config统一配置中心
统一配置中心 为什么需要统一配置中心? 统一配置中心顾名思义,就是将配置统一管理,配置统一管理的好处是在日后大规模集群部署服务应用时相同的服务配置一致,日后再修改配置只需要统一修改全部同步,不需要一个 ...
- @vue/cl构建得项目下,postcss.config.js配置,将px转化成rem
依赖包: postcss-pxtorem 配置: 在项目根目录下创建 postcss.config.js 配置如下: module.exports = () => ({ plugins: [ r ...
- Spring Boot 揭秘与实战 附录 - Spring Boot 公共配置
Spring Boot 公共配置,配置 application.properties/application.yml 文件中. 摘自:http://docs.spring.io/spring-boot ...
- html中require.config 缓存问题
在html中,require的官方基本用法如下: <!DOCTYPE html> <html> <head> <title>My Sample Proj ...
随机推荐
- linux 僵屍进程
参考链接 : http://soft.chinabyte.com/os/5/12172005.shtml
- 如何设置vmware 让别人连接你的虚拟机
参考链接: http://blog.csdn.net/yuan1590/article/details/53504042 http://blog.csdn.net/u012110719/article ...
- linux switch 跳转到 ”跳转至 case 标号“ 的错误
参考链接: http://blog.csdn.net/qustdjx/article/details/8636489
- 在Github和oschina上搭建自己的博客网站
在Github上搭建 - 参考链接 搭建一个免费的,无限流量的Blog----github Pages和Jekyll入门 GitHub + Jekyll 搭建并美化个人网站 用Jekyll搭建的Git ...
- SuperDiamond在JAVA项目中的三种应用方法实践总结
SuperDiamond在JAVA项目中的三种应用方法实践总结 1.直接读取如下: @Test public static void test_simple(){ PropertiesConfigur ...
- Spring Bean定义配置
1-定义bean 1.1 如果显示的指定了名称,IOC容器就是用这个名称 1.2 若没有显示指定名称,spring自带的BeanNameGenerator会使用自己的规则创建bean的名称(eg: 类 ...
- dubbo源码分析13——服务本地暴露 exportLocal(url)
dubbo服务的本地暴露,显然是针对当服务消费者和服务提供者都在同一个jvm的进程内这种场景 .通常是发生在服务之间的调用的情况下.一种情况就是A服务调用B服务的情况,如果A服务和B服务都是在一个线程 ...
- mlock实现原理及应用【转】
转自:https://blog.csdn.net/yiyeguzhou100/article/details/78085857 https://wenku.baidu.com/view/e25b4af ...
- 巧用这19条MySQL优化【转】
1.EXPLAIN 做MySQL优化,我们要善用EXPLAIN查看SQL执行计划. 下面来个简单的示例,标注(1.2.3.4.5)我们要重点关注的数据: type列,连接类型.一个好的SQL语句至少要 ...
- 移动硬盘和u盘的区别
移动硬盘和U盘都属于便携性存储器,用于计算机之间的数据交换.但移动硬盘和U盘的区别还是非常大的,包括内部构造.容量以及整体外观上. 移动硬盘又分为机械移动硬盘和固态移动硬盘两种,主要区别在于内置的存储 ...