我正在尝试创建一个可编辑的SlickGrid(使用jquery-ui)并使用Dojo.
当我的页面包含
<script src="../../bower_components/dojo/dojo.js"></script>
<script src="../../bower_components/SlickGrid/lib/jquery-ui-1.11.3.js"></script>
<script src="../../mlads/fillDemo/FillDemo.js"></script>
控制台显示时
Error: multipleDefine
return mix(new Error(error), {src:"dojoLoader", info:info}); dojo.js (line 106)
src: dojoLoader dojo.js (line 1896)
info: Object { pid="dijit", mid="dijit/_WidgetsInTemplateMixin", pack={...}, more...}
Run Code Online (Sandbox Code Playgroud)
如果我注释掉jquery-ui行,那么错误就会消失.
FillDemo.js是我的源代码,它以
require(
[ "dojo/_base/declare",
"dijit/_WidgetBase",
"dijit/_TemplatedMixin",
"dijit/_WidgetsInTemplateMixin",
"dijit/registry",
"dijit/form/Button",
"dijit/form/DropDownButton",
Run Code Online (Sandbox Code Playgroud) 我正在构建我的项目的开始,我得到一些错误,无法理解为什么他们正在发生.
您可以my app.profile.js在下面看到文件的内容.我"build profile=../../app.profile.js -r"从命令提示符执行
此行,并且在完成该过程后我没有收到任何错误.我的问题是,如果我将这些软件包的发布(内置)版本复制到存在未构建版本的地方,我会收到太多像" Error: multipleDefine" 这样的javascript错误.即使我只复制dojo,dojox和dijit文件夹,也会出现相同的错误.
当我看到两个js文件的构建和未构建之间的差异时(例如dojo/Deferred),我意识到的唯一区别是:
//built
define("dojo/Deferred", [
"./_base/lang",
"./promise/CancelError",
"./promise/Promise"
], function(
Run Code Online (Sandbox Code Playgroud)
define([
"./_base/lang",
"./promise/CancelError",
"./promise/Promise"
], function(
Run Code Online (Sandbox Code Playgroud)
所以我开始时有点卡住了.我想尽快使用图层来减少http请求,但我需要一些关于我提到的情况的帮助.任何帮助将不胜感激,谢谢.
app.profile.js:
var profile = {
basePath: "..",
layerOptimize: "shrinksafe.keepLines",
optimize: "shrinksafe",
releaseDir: "./release",
hasReport: true,
packages: [
{
name: "dojo",
location: "./dojo"
},
{
name: "dijit",
location: "./dijit"
},
{
name: "app",
location: "./app"
},
{
name: "dtk",
location: "./dtk"
},
{
name: "dojox",
location: "./dojox"
}
],
layers: { …Run Code Online (Sandbox Code Playgroud)