来源: 未知
发布时间: 2017-10-13
次浏览
用法:
第一步在html页面上引入JS:
<script data-main="./index" src="js/require.js"></script>
<script type="text/javascript" src="js/requirejs-config.js"></script>
<script type="text/javascript" src="js/index.js"></script>
第一个require.js,注意引用的时候加了一个data-main="./index",其中里面的index就是第三个引用的index.js的名字
第二个requirejs-config我们需要配上插件的路径
代码如下
// 获取基础路径
function getBaseURL() {
if (!window._baseUrl) {
var local = window.location;
var contextPath = local.pathname.split("/")[1];
//window._baseUrl = local.protocol + "//" + local.host + "/" + contextPath + "/";//加项目名:如http://localhost:8080/pro
window._baseUrl = local.protocol + "//" + local.host + "/";//不加项目名:如http://localhost:8080
}
return window._baseUrl;
};
window.CLIENT_PATH=getBaseURL();
// 基础配置
window.requireConfig = {
"baseUrl": window.CLIENT_PATH,
"paths": {
"jquery" : "assets/jquery/jquery-1.9.1",/* jquery */
"layer" : "assets/layer/layer",/*layer弹窗*/
"underscore": "assets/lodash/underscore-min",/*underscore模板*/
},
"shim": {
"layer": {
"deps": ["jquery"]
}
}
};
function require_js(name, url, deps) {
window.requireConfig["paths"][name] = url;
if (deps) {
window.requireConfig["shim"][name] = {
"deps": deps
};
}
}
//依赖前置,引用某个JS的时候把另一个提前引用一下
function require_shim(name, deps) {
if (!window.requireConfig["shim"][name]) {
window.requireConfig["shim"][name] = {
"deps": deps
};
} else {
window.requireConfig["shim"][name]["deps"] = window.requireConfig["shim"][name]["deps"].concat(deps);
}
}
//服务端地址
window._serverPath="http://xxx.xxx.xx.xx:xxxx";
第三个index.js就是程序主入口
代码如下
require_js('Config', 'require/js/config');
//执行配置
require.config(window.requireConfig);
define('index',function(require,exports,module){
var $=require('jquery');
var layer=require('layer');
var Config = require('Config');
layer.config({
path: window._baseUrl + 'assets/layer/' //layer.js所在的目录,可以是绝对目录,也可以是相对目录
});
var layerIndex = null;
var Page={
init:function(){
layer.alert(Config.a);
}
};
$(function() {//程序入口
Page.init();
});
window.Config = Config;//把常量提供到页面上
});