Как мне импортировать файл jquery на Angular? - PullRequest
0 голосов
/ 23 января 2019

У меня есть файл jquery. Я использовал npm install jquery --save и npm install @types/jquery --save-dev. Затем я импортировал файл jquery в .angular-cli.json. Я получаю $ is not defined и jQuery is not defined ошибки. Это не работает.

Содержимое файла Jquery:

var DatatablesSearchOptionsColumnSearch = function () {
    debugger;
    $.fn.dataTable.Api.register("column().title()", function () {
        return $(this.header()).text().trim()
    });
    return {
        init: function () {
            var t;
            t = $("#m_table_1").DataTable({
                responsive: !0,
                dom: "<'row'<'col-sm-12'tr>>\n\t\t\t<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7 dataTables_pager'lp>>",
                lengthMenu: [5, 10, 25, 50],
                pageLength: 10,
                language: {
                    lengthMenu: "Display _MENU_"
                },
                searchDelay: 500,
                ...

А я импортирую в angular-cli.json

"scripts": [
      "node_modules/jquery/dist/jquery.slim.js",
      "node_modules/jquery/dist/jquery.min.js",
      "node_modules/jquery/dist/jquery.js",
      "assets/vendors/base/vendors.bundle.js",
       "assets/demo/default/base/scripts.bundle.js"
        ],

Ответы [ 2 ]

0 голосов
/ 23 января 2019

Я нашел ответ:

tag: селектор js-файл, который будет запускаться в файле .ts

src: js-путь к файлу

loadScript(tag, src: string, loadOnce?: boolean) {
        debugger
        loadOnce = loadOnce || false;

        if (!this._scripts[src]) {
            this._scripts[src] = { src: src, loaded: false };
        }

        return new Promise((resolve, reject) => {
            // resolve if already loaded
            if (this._scripts[src].loaded && loadOnce) {
                resolve({ src: src, loaded: true });
            } else {
                // load script tag
                let scriptTag = $('<script/>').
                    attr('type', 'text/javascript').
                    attr('src', this._scripts[src].src);

                $(tag).append(scriptTag);

                this._scripts[src] = { src: src, loaded: true };
                resolve({ src: src, loaded: true });
            }
        });
    }
0 голосов
/ 23 января 2019

Установка глобальной библиотеки как Официальная документация здесь

  1. Установка с npm:

    npm install jquery --save

  2. Добавление необходимых файлов сценариев в сценарии:

    "scripts": [ "node_modules/jquery/dist/jquery.slim.js" ],

Перезапустите сервер, если вы его используете, и он должен работать в вашем приложении.


Если вы хотите использовать внутри одного компонента, используйте import $ from 'jquery'; внутри вашего компонента

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...