未捕获的ReferenceError:未定义dicomParser hr.onreadystatechange @ cornerstoneWADOImageLoader.js:4156
我正在使用backbone,node.js和require.js进行我的应用程序。
CornerstoneWADOImageLoader
失败,因为它找不到dicomParser
,但我已经定义了它。
使用cornerstoneWADOImageLoader
需要jQuery,基石和dicomParser。
有什么不对吗?
同样Uncaught cornerstone.enable(element);
会返回此错误
TypeError:element.appendChild不是函数
代码:
//boot.js
require.config({
paths: {
jquery: '/js/lib/jquery',
jqueryui: '/js/lib/jquery-ui',
'jquery.ui.widget' : '/js/lib/jquery.ui.widget',
underscore: '/js/lib/underscore',
backbone: '/js/lib/backbone',
text: '/js/lib/text',
bootstrap: '/js/lib/bootstrap.min',
require: '/js/lib/require',
marionette: '/js/lib/backbone.marionette.min',
'cornerstone': '/js/lib/cornerstone/dist/cornerstone',
'dicomParser': '/js/lib/dicomParser/dist/dicomParser',
'jpx': '/js/lib/jpx.min',
'cornerstoneWADOImageLoader':'/js/lib/cornerstoneWADOImageLoader/dist/cornerstoneWADOImageLoader'
},
shim: {
'bootstrap': ['jquery'],
'cornerstone':['jquery','dicomParser'],
'cornerstoneWADOImageLoader':['jquery','cornerstone','dicomParser','jpx']
}
},
});
require(['jquery',
'underscore',
'app',
'bootstrap'
], function ($, _, app) {
app.start();
});
///dicomView
define([
'jquery',
'underscore',
'backbone',
'text!templates/dicomViewTemplate.html',
'cornerstone',
'dicomParser',
'jpx',
'cornerstoneWADOImageLoader',
], function ($, _, Backbone, dicomViewTemplate) {
return Backbone.View.extend({
render: function () {
this.$el.append(dicomViewTemplate);
var imageId = 'wadouri:dicom/55fc82d462eea6702a4c0a65'
var element = $('#dicomImage');
cornerstone.enable(element);
cornerstone.loadImage(imageId).then(function(image) {
cornerstone.displayImage(element, image);
});
return this;
}
});
});
答案 0 :(得分:1)
这个问题可能与支持AMD的dicomParser有关,但基石却没有(依赖于它)。看看你是否可以使用AMD模块导入dicomParser(可能通过shim config)?如果这不起作用,请尝试从dicomParser中删除AMD位。