Как интегрировать chart.js

#javascript #asp.net-mvc #chart.js

Вопрос:

Я пытаюсь добавить chart.js к моему проекту MVC. Я установил chart.js через npm, и теперь я предполагаю, что мне придется интегрировать его через мой app.init.js досье? Как я могу это сделать? Интерфейс в основном написан на jquery. Я также попытался просто включить chart.min.js но я все равно получаю ошибки, что диаграмма не определена. Может быть, есть что-то очевидное, чего мне не хватает?

 // npm packages
import jQuery from 'jquery';

// React - Uncomment to use React
// import 'babel-polyfill';

// Foundation - Uncomment to use foundation
import Foundation from 'foundation-sites';

// Components
import AccessibilityContent from './globals/g-accessibility-content/g-accessibility-content';
import ExampleTodo from './components/c-example-todo/c-example-todo';
import Dropdown from './components/c-dropdown/c-dropdown';
import LinksList from './components/c-links/c-links';
import ToggleIcon from './components/c-icon-toggle/c-icon-toggle';
import Cookie from './components/c-cookie/c-cookie';
import GrantDetailsToggle from './components/c-grant-details/c-grant-details';
import Hero from './components/c-hero/c-hero';
import FilterButtons from './components/c-filter/c-filter.js';
import EventMapToggle from './components/c-event-details/c-event-details.js';
import Quote from './components/c-quote/c-quote.js';
import Map from './components/c-map/c-map.js';
import Swipe from './components/c-swipe/c-swipe.js';
import Tooltip from './components/c-tooltip/c-tooltip.js';
import Datebox from './components/c-datebox/c-datebox.js';
import ToggleButtons from './components/c-toggle/c-toggle.js';
import Duotone from './components/c-duotone/c-duotone.js';
import ArchivedListToggle from './components/c-my-cases/c-my-cases.js';
import HorizontalStackedBar from './components/c-horizontal-stacked-bar/c-horizontal-stacked-bar.js';
import Compare from './components/c-compare/c-compare.js';
import AddItem from './components/c-add-item/c-add-item.js';
import PercentBar from './components/c-percent-bar/c-percent-bar.js';
import InfoBox from './components/c-info-box/c-info-box.js';
import SearchLocation from './components/c-search-location/c-search-location.js';
import MapResults from './components/c-map-results/c-map-results.js';
import VideoBlock from './components/c-video-block/c-video-block.js';

// Globals
import MobileNavigation from './globals/g-navigation-mobile/g-navigation-mobile';
import DesktopNavigation from './globals/g-navigation-desktop/g-navigation-desktop';
import Menu from './globals/g-menu/g-menu';
import FooterScroll from './globals/g-footer/g-footer';
import SideNav from './globals/g-sidenav/g-sidenav';
import SearchGlobal from './globals/g-search-global/g-search-global.js';
import StickyHeader from './globals/g-header/g-header.js';

'use strict';
module.exports = (() => {
    window.jQuery = window.jQuery || jQuery;
    window.$ = window.jQuery;
    
    // Foundation - Uncomment to use foundation
    Foundation.addToJquery(jQuery);
    
    jQuery(document).ready(() => {

        // Framework

        // Foundation - Uncomment to use foundation
        jQuery(document).foundation();

        // init
        ExampleTodo.init();
        AccessibilityContent.init();
        LinksList.init();
        Menu.init();
        MobileNavigation.init();
        DesktopNavigation.init();
        Dropdown.init();
        ToggleIcon.init();
        Cookie.init();
        FooterScroll.init();
        GrantDetailsToggle.init();
        Hero.init();
        FilterButtons.init();
        SideNav.init();
        SearchGlobal.init();
        EventMapToggle.init();
        Quote.init();
        Map.init();
        Swipe.init();
        StickyHeader.init();
        Tooltip.init();
        Datebox.init();
        ToggleButtons.init();
        Duotone.init();
        HorizontalStackedBar.init();
        Compare.init();
        AddItem.init();
        PercentBar.init();
        InfoBox.init();
        SearchLocation.init();
        ArchivedListToggle.init();
        MapResults.init();
        VideoBlock.init();

        // Load svg sprite
        jQuery.get('/Static/assets/icons/sprite.symbol.svg', (data) => {
            jQuery(data).find('svg').hide().appendTo('body')
        });

        // Add body class when using keyboard
        document.body.addEventListener('keydown',function(e) {
            let $code = e.keyCode || e.which;

            if ($code == '9') {
                document.body.classList.add('using-keyboard');
            }
        });

        document.body.addEventListener('mousedown',function() {
            document.body.classList.remove('using-keyboard');
        });

    });

})();
 

Комментарии:

1. Привет, похоже, вы используете библиотеку или фреймворк. импорт не является обычным явлением на обычных сайтах HTML Javascript. Какую базовую структуру вы используете для отображения своего веб-сайта? Это помогло бы мне ответить на вопрос 🙂