首页 > 解决方案 > 更新包(buefy)会破坏项目(filegator) - 导入问题(?)

问题描述

我正在尝试向自托管文件存储filegator添加一些功能。
(如果有任何相关性,该项目被组织为单文件组件。)
(它基于 Vue,js 并作为 Node.js 服务器运行,带有 babel)
为此,我想更新使用的buefy版本, 以利用一些较新的功能。
中间版本之一是代码破解,但是建议的解决方案已经实现:

如果你在这里检查,它建议

import Vue from 'vue';
import Buefy from 'buefy';
import 'buefy/dist/buefy.css';

Vue.use(Buefy);

它已经这样做了,同时在filegators main.js的第 1、5 和 25 行中使用了重大更改之前的版本。
但是,我仍然收到以下错误消息: 我已经尝试在Browser.vue,其中包含引发错误的 b 表,但它没有帮助。(我在正确的轨道上,我需要在每个组件中单独导入包吗?)

更让我困惑的是,有关重大变化的文章建议

import { Table } from 'buefy'

官方文档代码使用

b-table

但是,我无法导入名称中带有连字符的单个组件。这会引发自己的错误。
我觉得这应该很容易,我忽略了一些明显的东西。有人可以指出我正确的方向吗?
谢谢!:)

标签: javascriptvue.jsbuefy

解决方案


我不认为这是导入问题,因为这可能会导致应用程序根本无法构建。但是您的错误消息来自已经加载并执行应用程序的浏览器。

  1. v0.8.0 中的重大更改仅适用于单个组件的导入。文档所说的是,您可以一次导入和安装所有 Buefy 组件(Vue.use(Buefy);....通常在main.js),或者只安装和使用选定的组件。与filegator使用第一个选项一样,这不是导致您的问题的更改...

  2. 从错误和堆栈跟踪的外观来看,问题似乎在于版本v0.9.0中的重大更改,其中BTable组件默认插槽和表列语法发生了更改

旧语法:

<b-table :data="myData">
    <template slot-scope="props">
        <b-table-column field="name" label="Name">
            {{ props.row.name }}
        </b-table-column>
        <b-table-column field="age" numeric label="Age">
            {{ props.row.age }}
        </b-table-column>
    </template>
</b-table>

新语法:

<b-table :data="myData">
    <b-table-column field="name" label="Name" v-slot="props">
        {{ props.row.name }}
    </b-table-column>
    <b-table-column field="age" label="Age">
        <template v-slot:default="props">
            {{ props.row.age }}
        </template>
    </b-table-column>
</b-table>

推荐阅读