未捕获类型错误:无法解析模块说明符“@kurkle/color”。相对引用必须以“/”、“./”或“../”开头

问题描述 投票:0回答:1

我目前正在 Manifest V3 中创建 Google Chrome 扩展,并尝试导入 Chart.js。我在控制台中收到以下错误:

未捕获的类型错误:无法解析模块说明符“@kurkle/color”。相对引用必须以“/”、“./”或“../”开头。

以下是我的文件:

index.html

<html>
    <head>
        <link rel="stylesheet" href="styles.css">
        <link rel="preconnect" href="https://fonts.googleapis.com">
        <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Roboto:wght@700&display=swap">
        <link rel="stylesheet"
            href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,[email protected],100..700,0..1,-50..200" />
    </head>
    <body>
        <h4>GOOGLE CALENDAR</h4>
        <h5>Time Tracker</h5>
        <hr></hr>
        <div style="width: 800px;"><canvas id="chart"></canvas></div>
        <script type="module" src="src/donut_chart.js"></script>
    </body>
</html>

donut_chart.js

import Chart from "../Chart.js/node_modules/chart.js/auto/auto.js";

document.addEventListener('DOMContentLoaded', function()
{
    var ctx = document.getElementById("chart").getContext('2d');
    var myChart = new Chart(ctx, {
        type: 'doughnut',
        data: {
            labels: [ 'a', 'b', 'c', 'd' ],
                datasets: [{
                backgroundColor: [
                    "#59be5b",
                    "#d56328",
                    "#ff1b2d",
                    "#0078d7"
                ],
                data: [ 1, 2, 3, 4 ]
            }]
        }
    });

    document.getElementById('test').textContent = 'SUCCEED';
});

manifest.json

{
    "manifest_version": 3,
    "name": "Google Calendar Time Tracker",
    "description": "Base Level Extension",
    "version": "1.0",
    "action": {
        "default_popup": "index.html",
        "default_icon": "hello_extensions.png"
    },
    "host_permissions": [
        "https://*/*",
        "http://*/*"
    ]
}

package.json

{
    "type": "module"
}

我在网上寻找解决方案,但并没有真正找到任何东西。所有解决方案似乎都建议我使用 HTML 链接而不是 import 语句,但 Manifest V3 不允许包含任何外部链接。任何形式的帮助将不胜感激!

javascript html typeerror importerror chrome-extension-manifest-v3
1个回答
0
投票

我从来没有这样做过。

在我看来,它是库、v3 清单以及它是一个扩展这一事实的组合,这使得在不更改库代码的情况下无法修复自己。

我自己创建了一些非常简单的自定义图表,足以解决手头的问题。丑陋但有效。

© www.soinside.com 2019 - 2024. All rights reserved.