首页 > 解决方案 > 如何将 Laravel 路由注入到打包在 webpack 中的 js 文件中?

问题描述

我有一个 js 文件,用于检查用户名是否可用。我有一个可重用的 ajax 类,我将数据发布到并监听结果。这个类是可重用的,只需要一个 url 作为初始化参数。所以如果我想检查一封电子邮件是否免费,我可以通过我的 Laravel 路由来检查电子邮件。检查用户名的模块已打包到 IIFE 上(尽管我愿意接受有关不同实现的建议)。

目前,我在它自己的 js 文件中拥有整个检查用户名,该文件与 WebPack 捆绑在一起。

目前我将我的初始化保存在 webpack 之外和我的 html 中

<script>
    let apiQuery = new CustomLib.ApiQuery('{{route('users.name.availability')}}');
</script>

现在,如果我想对 URL 进行硬编码,我可以将上面的初始化移动到_username_availability

但在我看来,这违背了使用命名路由的目的。由于我的开发和生产服务器具有完全不同的 url。

如何将 url 注入_username_availability以便我可以在功能上打包我的用户名?或者我是怎么做的最好的解决方案?

_username_availability.js

$(function () {
    apiQuery.subscribe(results);

    mybutton.on('change', function(e){
        apiQuery.search($(this).val());
    });

    function results(data){
        //.. Do something
    }

});

base.js

import ApiQuery from './_apiquery';
require('./_username_availability');
export {ApiQuery};

标签: javascriptlaravelwebpack

解决方案


推荐阅读