Javascript dojobuildformvc项目
我正在尝试为应用程序创建自定义构建,我的项目在mvc中,没有根js文件,现在我正在尝试使用dojo 1.9.3版将所有javascript文件构建到一个新的js文件中。 构建成功,但当我试图用新的构建js文件加载应用程序时,“ïs not a function”错误。 我的javascript文件未完全转换。 profile.js看起来像Javascript dojobuildformvc项目,javascript,dojo,amd,dojo-build,Javascript,Dojo,Amd,Dojo Build,我正在尝试为应用程序创建自定义构建,我的项目在mvc中,没有根js文件,现在我正在尝试使用dojo 1.9.3版将所有javascript文件构建到一个新的js文件中。 构建成功,但当我试图用新的构建js文件加载应用程序时,“ïs not a function”错误。 我的javascript文件未完全转换。 profile.js看起来像 var profile = { basePath: '../src/', releaseDir: "/assets/js_prod/",
var profile = {
basePath: '../src/',
releaseDir: "/assets/js_prod/",
action: 'release',
mini: true,
optimize: 'Closure',
layerOptimize: 'Closure',
packages: [
{
name: "dojo",
location: "assets/dojo_build/dojo"
}, {
name: "js",
location: "assets/js"
},{
name: "dijit",
location: "assets/dojo_build/dijit"
},{
name: "dojox",
location: "assets/dojo_build/dojox"
} /*,{
name: "css",
location: "assets/css"
} */
],
stripConsole: 'all',
selectorEngine: 'lite',
layers: {
'dojo/dojo': {
customBase: true,
boot: true,
},
'js/testbuild': {
include: [
'js/abcaction',
'js/api',
'js/abc',
'js/Dropdown',
'js/abc',
'js/test',
'js/datas',
'js/history',
'js/library'
]
}
},
staticHasFeatures: {
'dojo-trace-api':0,
'dojo-log-api':0,
'dojo-publish-privates':0,
'dojo-sync-loader':0,
'dojo-xhr-factory':0,
'dojo-test-sniff':0
}
};
包括构建文件(testbuild.js)如下所示
<script data-dojo-config="async: 1, dojoBlankHtmlUrl: '/blank.html',
packages: [ {
name: 'buildjs',
location: '/assets/js_prod'
} ]"
src="/assets/js_prod/dojo/dojo.js"></script>
require([
"buildjs/testbuild"
], function(testbuild) {
testbuild.abcactionInit(false);
});
要求([
“buildjs/testbuild”
],函数(testbuild){
testbuild.abcactionInit(false);
});
该版本仅适用于AMD文件。所有非AMD文件需要包括在您的源目录结构中,除了您的构建。感谢您的回复。是否有任何工具可以将非AMD js转换为AMD?是的,但我建议您手动执行。这需要一些人的思考,而且很容易做到。谢谢你检查r.js将非amd转换为amd,因为我有很多文件要转换。