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 ...
随机推荐
- SQLQueryStress
工具介绍及使用链接:http://www.cnblogs.com/lyhabc/p/3187922.html 工具下载链接:http://files.cnblogs.com/files/coce/sq ...
- HDFS笔记(二)
fsimage : NameNode启动时,对文件系统的快照 eidt logs : NameNode启动后,对文件系统的改动序列 namenode在全局里就一个进程,所以存在单点问题 DataNod ...
- Kotlin中构造方法的参数var val 和 什么都没有的区别
1.什么都没有,在该类中使不能使用的, 这个参数的作用就是,传递给父类的构造方法 2.使用var 可以在类中使用,相当于 我们声明了一个该类中定义了一个private 的成员变量 3.val表示不让修 ...
- Elasticsearch 5.4.3实战--Java API调用:批量写入数据
这个其实比较简单,直接上代码. 注意部分逻辑可以换成你自己的逻辑 package com.cs99lzzs.elasticsearch.service.imp; import java.sql.Tim ...
- Linux 应用层的时间编程【转】
转自:https://blog.csdn.net/chinalj2009/article/details/21223681 浅析 Linux 中的时间编程和实现原理,第 1 部分: Linux 应用层 ...
- 【转】C++ 11 并发指南一(C++ 11 多线程初探)
引言 C++ 11自2011年发布以来已经快两年了,之前一直没怎么关注,直到最近几个月才看了一些C++ 11的新特性,算是记录一下自己学到的东西吧,和大家共勉. 相信Linux程序员都用过Pthrea ...
- $Django 多表操作(增删改查,基于双下划线,对象的查询) 在Python脚本中调用Django环境
在Python脚本中调用Django环境. import osif __name__ == '__main__': os.environ.setdefault("DJANGO_SETTING ...
- Golang 优化之路-空结构[转]
写在前面 开发 hashset 常用的套路: map[int]int8 map[int]bool 我们一般只用 map 的键来保存数据,值是没有用的.所以来缓存集合数据会造成内存浪费. 空对象 空对象 ...
- mysql alter add 使用记录
alter add命令用来增加表的字段. alter add命令格式:alter table 表名 add字段 类型 其他; 例如,在表MyClass中添加了一个字段passtest,类型为int(4 ...
- springboot:接收date类型的参数
今天有个postmapping方法,地址都正确,就是死活进不去,真是奇怪了. 终于从日志中得出些端倪,见下: 只有这个属性报错,恰恰这个属性是Date型. 这句话说得更清楚: "defaul ...