JavaScript - после импорта (webmix) Uncaught ReferenceError: ошибка getJobData не определена - PullRequest
0 голосов
/ 03 февраля 2020

Я использую по умолчанию Laravel настройки вебмикса

const mix = require('laravel-mix')

mix.js('resources/js/app.js', 'public/js')
    .sass('resources/sass/app.scss', 'public/css');

Файл моего приложения выглядит следующим образом:

import './components/functions'
import './components/search'
import './components/jobs'
import './components/pagination'

$.ajaxSetup({
    headers: {
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
    }
});

Я хочу получить доступ к этой функции в нумерация страниц (которая находится в файле functions ):

function getJobData() {

    let duration = []
    let jobTypes = []

    $.each($(".duration"), function () {
        if ($(this).is(':checked')) {
            duration.push($(this).val());
        }

    });

    $.each($(".jobTypes"), function () {
        if ($(this).is(':checked')) {
            jobTypes.push($(this).val());
        }

    });

    return {
        term: $('#search_address').val(),
        advancedSearch: $("#advanced_search").is(':checked'),
        profession: $('#search_profession').val(),
        duration: $('#search_duration').val(),
        jobTypes: jobTypes,
        radius: $('#search_radius').val(),
        new: $("#order_new").is(':checked'),
        open: $("#open").is(':checked'),
        expired: $("#expired").is(':checked'),
        jobStatus: $("input[name=jobStatus]").val(),
        duration: duration,
        page: $('.pageNumber.current').data('page')
    }
}

Этот код в файле нумерации страниц:

$('body').on('click', '.page-link', function (e) {
    e.preventDefault()

    let $this     = $(this)
    let paginator = $(".paginator")

    console.log(getJobData)

    return;


    $.get($this.attr('link'),  getData(),
        function (data, textStatus, jqXHR) {

        },
        "json"
    );

});

Я получаю эту ошибку:

app.js:225 Uncaught ReferenceError: getJobData is not defined

Что я здесь не так делаю?

1 Ответ

2 голосов
/ 03 февраля 2020

Вам не нужно экспортировать?

// functions.js (I think?)
export function getJobData

Тогда вам нужно будет правильно импортировать его, чтобы использовать его:

// pagination.js
import { getJobData } from './functions'

Таким образом, файл нумерации страниц будет выглядеть так:

// pagination.js
import { getJobData } from './functions';

$('body').on('click', '.page-link', function (e) {
    e.preventDefault()

    let $this     = $(this)
    let paginator = $(".paginator")

    console.log(getJobData)
...

Когда вы работаете с модулями, каждый модуль отвечает за свой собственный импорт.

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