JavaScript - 导入后(webmix)未捕获的 ReferenceError : getJobData is not defined error

标签 javascript laravel webpack

我正在使用默认的 Laravel webmix 设置

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

我在这里做错了什么?

最佳答案

不需要导出吗?

// 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)
...

当您使用模块时,每个模块负责自己的导入。

关于JavaScript - 导入后(webmix)未捕获的 ReferenceError : getJobData is not defined error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60041163/

相关文章:

javascript - 在 Jetty 9 中使用 doGET 转发到另一个 html 页面时出错

javascript - 如何通过dojo检测textarea的变化

javascript - 有没有办法设置 webpack 配置来加载特定的 core-js 条目

php - hasMany 与 laravel 5.x 中的 belongsToMany

webpack - webpack watch 可以为编译日志显示更多有用的细节吗?

reactjs - React js 使用 create-app 如何在 webpack 上设置 X-FRAME-OPTIONS

javascript - Firebase 更新方法产生 Promise Rejection

javascript - 我怎样才能使我的登录 session 更快?

php - 在 Laravel 中批量更新每行的特定条件

php - Laravel 5 如何使用内存缓存