javascript - 在 javascript 函数中导出 json 以在另一个 javascript 函数中导入

标签 javascript json laravel-blade javascript-import

我需要读取一个 json 文件并使其在整个应用程序中可用。我的方法是(摘自此 resource ):

assets/js/routes.json:

{
    "task.create": "deliveryorders\/{deliveryOrder}\/tasks\/create",
}

assets/js/router.js:

import * as routes from './routes.json';

export function route() {
    var args = Array.prototype.slice.call(arguments);
    var name = args.shift();

    if (routes[name] === undefined) {
        console.error('Unknown route ', name);
    } else {
        return baseUrl + '/' + routes[name]
            .split('/')
            .map(s => s[0] == '{' ? args.shift() : s)
            .join('/');
    }
}

assets/js/base/pltbl.js:

import '../router.js';

window.tblLoadContent = function tblLoadContent(argModel) {
    url_ = route(argModel.name + ".index", [argModel.parent_id]);
    $("#tbl" + _titleCase(argModel.name) + "_body").load(url_, function(responseTxt, statusTxt, xhr) {
        if (statusTxt == "success") {
            refreshMenu(argModel);
        }
    });
}

app.blade.php中调用:

$(document).ready(function(){
    tblLoadContent("{'name':'package', 'parent_id': '1'}");
});

但是当 app.blade.php 被渲染时,在控制台中弹出以下错误:

Uncaught ReferenceError: route is not defined
  at tblLoadContent (pltbl.js:141)
  at HTMLDocument.<anonymous> (edit:473)
  at l (jquery-3.3.1.min.js:2)
  at c (jquery-3.3.1.min.js:2)

最佳答案

我认为您需要或创建默认导出或使用大括号导入路由。 选项 1:

export default function route()

选项 2:

import {route} from '../router.js';

关于javascript - 在 javascript 函数中导出 json 以在另一个 javascript 函数中导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52912119/

相关文章:

javascript - 如何创建一个在输入字段中输入内容后立即启动的计时器

javascript - Angular : How to restrict user inputs which contain sql query keywords (for sql injection)

ajax - 无法使用动态 JSON

php - 无法让 Codeception 填写表单字段

javascript - 设置 window.open() 的 HTML 在 Internet Explorer 中产生奇怪的样式问题

javascript - 两个或多个点的正则表达式

php - 如何将 Blade 模板文件扩展名从 *.blade.php 更改为仅 *.blade

javascript - Laravel - 如何将 Blade View 文件中的某些参数值发送到 Controller ?

c# - HttpClient.PostAsJsonAsync 使用私有(private)成员而不是公共(public)属性

json - 如何在 gorest EndPoint 语法中为输出数据提供 JSON 对象 ID?