Uncaught ReferenceError: dicomParser не определен

Uncaught 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;
        }
    });
});

1 ответ

Решение

Возможно, проблема связана с dicomParser, поддерживающим AMD, но краеугольным камнем этого не является (но зависит от этого). Посмотрите, можете ли вы импортировать dicomParser без использования модулей AMD (возможно, через конфигурацию shim)? Если это не сработает, попробуйте удалить биты AMD из dicomParser.

Другие вопросы по тегам