当通过r.js -o对dijit进行r.js构建时,我们如何解决“未定义文档”错误?
具体来说,我正在尝试构建r-build.js:
define(["require", "exports", "dijit/layout/ContentPane"], function (require, exports, ContentPane) {
function simple() {
return ContentPane;
}
return simple;
});
使用r.js.cmd -o r-build.js
并报告:
ReferenceError: document is not defined
In module tree:
test/simple
dijit/layout/ContentPane
dijit/_Widget
dojo/query
dojo/selector/_loader
我的r-build.js文件如下所示:
({
appDir: "../",
baseUrl: "amd",
dir: "../../release",
optimize: "none",
modules: [
{
name: "test/simple",
exclude: ["jquery", "dojo"]
}
],
packages: [
{
name: 'cm',
location: 'http://localhost:93/CodeMirror'
},
{
name: 'jquery',
location: 'd:/code/jquery/src',
main: 'jquery'
},
{
name: 'jquery/ui',
location: 'http://localhost:93/jquery-ui/ui'
},
{
name: 'jquery/themes',
location: 'http://localhost:93/jquery-ui/themes'
},
{
name: 'sizzle',
location: 'http://localhost:93/jquery/external/sizzle/dist',
main: 'sizzle'
},
{
name: 'dojo',
location: 'd:/code/dojo'
},
{
name: 'dijit',
location: 'd:/code/dijit'
},
{
name: 'xstyle',
location: 'http://localhost:93/xstyle'
}
]
})
答案 0 :(得分:0)
我在同一个问题上打架。使用Dojo构建r.js包是一件痛苦的事。 这个很容易修复...如果你没有遇到支持的浏览器的问题(例如post-ie9之后)覆盖该文件并将检查querySelectorAll的行更改为true,你将不需要做那些检查。像...
has.add("dom-qsa2.1", true);
has.add("dom-qsa3", true);
希望它有所帮助...