Javascript コンソールから "Uncaught Error: irrationalPath" エラーが発生する Grails GSP ページ内から次の HTML コードを取得しました。
次の階層の下に Dojo があります。
web-app
/js
/lib
/dojo
/dojo
/dijit
/dojox
これの原因に関するドキュメントは見つかりませんでした。createLink タグは次の URL に解決されます。
<script type="text/javascript" src="/tfs-web2/static/js/lib/dojo/dojo/dojo.js"></script>
と
baseUrl: "/tfs-web2/js/lib/"
<!DOCTYPE html>
<html >
<head>
<link rel="stylesheet" href="<g:createLinkTo file="/js/lib/dojo/dijit/themes/claro/claro.css"/>">
<script>dojoConfig = {
parseOnLoad: true,
async: true,
baseUrl: "${resource(uri:'/')}/js/lib/",
packages: [
{ name: "dojo", location: "dojo/dojo" },
{ name: "dijit", location: "dojo/dijit" }
]
}
</script>
<script type="text/javascript" src="<g:createLinkTo file="/js/lib/dojo/dojo/dojo.js"/>"></script>
<script>
require(["dojo/ready", "dojo/fx"], function(ready, fx){
ready(function(){
require(["dijit/form/Button", "dojo/_base/window"], function(Button, win){
ready(function(){
new Button({}).placeAt(win.body());
});
});
});
});
</script>
</head>
<body class="claro">
</body>
</html>
編集: ローカル パッケージを参照する代わりに CDN を使用すると、これを機能させることができます。私は CDN を使用したくないので、Dojo のローカル コピーを使用してこれを機能させる方法を知りたいと思っています。
<script src="//ajax.googleapis.com/ajax/libs/dojo/1.8/dojo/dojo.js"
data-dojo-config="isDebug:true, async:true" type="text/javascript"></script>