Solved! Go to Solution.
dojoConfig = { async: 1, parseOnLoad: true, packages: [ { name: "cbtree", location: location.pathname.replace(/\/[^/]+$/, "") + "src/libs/cbtree" } ] };
define(['cbtree/Tree', 'cbtree/models/TreeStoreModel'], function(Tree, TreeStoreModel) { return { treeTest: function(){ console.log("cbtree files loaded:", Tree, TreeStoreModel); } }; });
dojoConfig = { async: 1, parseOnLoad: true, packages: [ { name: "cbtree", location: location.pathname.replace(/\/[^/]+$/, "") + "src/libs/cbtree" } ] };
define(['cbtree/Tree', 'cbtree/models/TreeStoreModel'], function(Tree, TreeStoreModel) { return { treeTest: function(){ console.log("cbtree files loaded:", Tree, TreeStoreModel); } }; });
Error: multipleDefine ...push(_2f1);_2f1=null;_2e9=_2eb=-1;}else{if(cc=="="){var _2f7=("|~^$*".indexOf(lc... ?v=3.0 (Zeile 15) src: dojoLoader ?v=3.0 (Zeile 15) info: Object { pid="cbtree", mid="cbtree/Tree", pack={...}, mehr...}
... do some css stuff ... <script type="text/javascript"> var dojoConfig = { parseOnLoad : true, isDebug : true, packages : [{ name : "cbtree", location : location.pathname.replace(/\/[^/]+$/, "") + "/js/cbtree", }] }; </script> <script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=3.0"></script> <script type="text/javascript"> dojo.require("dijit.dijit") dojo.require("dijit.layout.BorderContainer"); dojo.require("dijit.layout.ContentPane"); dojo.require("dijit.layout.AccordionContainer"); dojo.require("esri.map"); dojo.require("esri.dijit.Legend"); dojo.require("esri.layers.FeatureLayer"); dojo.require("esri.dijit.OverviewMap"); dojo.require("esri.dijit.Scalebar"); dojo.require("dojo.parser"); dojo.require("dijit.TooltipDialog"); dojo.require("dojo.number"); dojo.require("dijit.form.CheckBox"); var map, layer var mapServiceURL = "path to our server" var featureLayerArray = new Array() var activeLayer var mouseOverEvent, mouseOutEvent function init() { require(["dojo/data/ItemFileReadStore", "dojo/store/Observable", "cbtree/Tree", "cbtree/models/ForestStoreModel", "dojo/query", "dojo/domReady"], function(ItemFileReadStore, Observable, Tree, ForestStoreModel, dndSource, query) { var store = new ItemFileReadStore({ url : "data/layer.json" }); var model = new ForestStoreModel({ store : store, query : { type : 'thema' }, rootId : 'root', rootLabel : 'Themen' }); var tree = new Tree({ model : model, id: "MenuTree", branchIcons: true, branchReadOnly: true, checkBoxes: true, nodeIcons: true });
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=7,IE=9" /> <!--The viewport meta tag is used to improve the presentation and behavior of the samples on iOS devices--> <meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"/> <title>Checkbox Tree</title> <style type="text/css"> @import "http://serverapi.arcgisonline.com/jsapi/arcgis/3.0/js/dojo/dijit/themes/claro/claro.css"; @import "src/libs/cbtree/themes/claro/claro.css"; </style> <script type="text/javascript"> var dojoConfig = { parseOnLoad : true, packages : [{ name : "cbtree", location : location.pathname.replace(/\/[^/]+$/, "") + "/src/libs/cbtree" }] }; </script> <script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=3.0"></script> <script type="text/javascript"> require(["dojo/_base/connect", "dojo/store/Observable", "dojo/query", "dojo/domReady", "cbtree/Tree","cbtree/models/ForestStoreModel", "dijit/layout/BorderContainer", "dijit/layout/ContentPane"], function(connect, Observable, query, domReady, Tree, ForestStoreModel) { function checkBoxClicked( item, nodeWidget, evt ) { alert( "The new state for " + this.getLabel(item) + " is: " + nodeWidget.get("checked") ); } var store = new dojo.data.ItemFileWriteStore({ url : "data/small.json" }); var model = new ForestStoreModel({ store : store, query : { type : 'thema' }, rootId : 'root', rootLabel : 'Themen' }); tree = new Tree({ model : model, id: "MenuTree", showRoot : false, branchIcons: true, branchReadOnly: true, checkBoxes: true, nodeIcons: true }); connect.connect( tree, "onCheckBoxClick", model, checkBoxClicked ); domReady( function() { tree.placeAt('legendPane'); }); console.debug("fertig geladen") init(); }); </script> </head> <body class="claro"> <div id="legendPane"> sdgfhkl </div> </body> </html>
dojoConfig = { has: { "dojo-firebug": true, "dojo-debug-messages": true }, async: true, waitSeconds: 3, tlmSiblingOfDojo: false, baseUrl: 'location.pathname.replace(/\/[^/]+$/, "")', packages: [{ name: "agsjs", location: "/js/lib/agsjs/" }, { name: "modules", location: "/js/lib/WURadarLayer/" }], };
<!DOCTYPE html> <html> <head> <!-- --- header stuff .... --> <link rel="stylesheet" href="http://serverapi.arcgisonline.com/jsapi/arcgis/3.3/js/dojo/dijit/themes/claro/claro.css"> <link rel="stylesheet" href="http://serverapi.arcgisonline.com/jsapi/arcgis/3.3/js/esri/css/esri.css"> <script src="js/my/dojoConfig.js"></script> <script>var dojoConfig = { parseOnLoad: true };</script> <script src="//serverapi.arcgisonline.com/jsapi/arcgis/3.3/"></script> <script src="js/my/myMap.js"></script> </head> <body class="claro"> <!-- ---- body stuff .... -->
require(["esri/map", "esri/layers/FeatureLayer", "esri/dijit/Popup", "esri/tasks/Query", "esri/dijit/Geocoder", "esri/dijit/Scalebar", "esri/dijit/Legend", "esri/dijit/Print", "agsjs/TOC", "modules/WURadarLayer", "dojo/DeferredList", "dojo/_base/connect", "esri/layers/FeatureLayer", "esri/dijit/Measurement", "dijit/TitlePane", "esri/dijit/OverviewMap" ], function (map) { var initialExtent = esri.geometry.geographicToWebMercator( new esri.geometry.Extent(-81.20953, 32.12281, -81.17640, 32.14837, new esri.SpatialReference({ wkid: 3857 }) )); var popup = new esri.dijit.Popup(null, dojo.create("div")); map = new esri.Map("map", { slider: false, wrapAround180: true, //set wraparound to false if the extent is limited. showAttribution: false, logo: false, // or, just hide the esri logo and don't ask me no questions :) infoWindow: popup, slider: true, sliderStyle: "small", autoResize: true, extent: initialExtent }); var basemap = new esri.layers.ArcGISTiledMapServiceLayer(getWebData.ESRIWorldTopoMap); map.addLayer(basemap); dojo.place(popup.domNode, map.root); ////// lots more stuff, and widgets, including a radar loop layer (WURadar) and Table of Contents (AGSJS TOC) map.setExtent(initialExtent); map.resize(); dojo.connect(map, "onLoad", function () { dojo.connect(dijit.byId("map"), "resize", map, map.resize); }); })
In fact I don't know the difference between "require" and "define".
You use define to define a new module. You use require when you are only consuming other modules and not defining your own.